@@ -181,6 +181,42 @@ describe('Amazon Q Code Transformation', function () {
181181 assert . strictEqual ( viewSummaryChatItem ?. body ?. includes ( 'view a summary' ) , true )
182182 } )
183183
184+ it ( 'CANNOT do a Java 21 to Java 17 transformation' , async ( ) => {
185+ sinon . stub ( startTransformByQ , 'getValidSQLConversionCandidateProjects' ) . resolves ( [ ] )
186+ sinon . stub ( GumbyController . prototype , 'validateLanguageUpgradeProjects' as keyof GumbyController ) . resolves ( [
187+ {
188+ name : 'qct-sample-java-8-app-main' ,
189+ path : '/Users/alias/Desktop/qct-sample-java-8-app-main' ,
190+ JDKVersion : JDKVersion . JDK21 ,
191+ } ,
192+ ] )
193+ tab . addChatMessage ( { command : '/transform' } )
194+ await tab . waitForEvent ( ( ) => tab . getChatItems ( ) . length > 3 , {
195+ waitTimeoutInMs : 5000 ,
196+ waitIntervalInMs : 1000 ,
197+ } )
198+ const projectForm = tab . getChatItems ( ) . pop ( )
199+ assert . strictEqual ( projectForm ?. formItems ?. [ 0 ] ?. id ?? undefined , 'GumbyTransformLanguageUpgradeProjectForm' )
200+
201+ const projectFormItemValues = {
202+ GumbyTransformLanguageUpgradeProjectForm : '/Users/alias/Desktop/qct-sample-java-8-app-main' ,
203+ GumbyTransformJdkFromForm : '21' ,
204+ GumbyTransformJdkToForm : '17' ,
205+ }
206+ const projectFormValues : Record < string , string > = { ...projectFormItemValues }
207+ tab . clickCustomFormButton ( {
208+ id : 'gumbyLanguageUpgradeTransformFormConfirm' ,
209+ text : 'Confirm' ,
210+ formItemValues : projectFormValues ,
211+ } )
212+ await tab . waitForEvent ( ( ) => tab . getChatItems ( ) . length > 4 , {
213+ waitTimeoutInMs : 5000 ,
214+ waitIntervalInMs : 1000 ,
215+ } )
216+ const errorMessage = tab . getChatItems ( ) . pop ( )
217+ assert . strictEqual ( errorMessage ?. body , CodeWhispererConstants . invalidFromToJdkChatMessage )
218+ } )
219+
184220 it ( 'Can provide metadata file for a SQL conversion' , async ( ) => {
185221 sinon . stub ( startTransformByQ , 'getValidSQLConversionCandidateProjects' ) . resolves ( [
186222 {
0 commit comments