@@ -113,6 +113,8 @@ class QTestGenerationChatTest {
113113                assertTrue(result.contains(" View Diff opened"  ))
114114                assertTrue(result.contains(" Result Accepted"  ))
115115                assertTrue(result.contains(" Unit test generation completed."  ))
116+                 assertTrue(result.contains(" Input field re-enabled after acceptance"  ))
117+                 assertTrue(result.contains(" Feedback button found with correct text"  ))
116118            }
117119    }
118120
@@ -211,6 +213,8 @@ class QTestGenerationChatTest {
211213                assertTrue(result.contains(" View Diff opened"  ))
212214                assertTrue(result.contains(" Result Reject"  ))
213215                assertTrue(result.contains(" Unit test generation completed."  ))
216+                 assertTrue(result.contains(" Input field re-enabled after rejection"  ))
217+                 assertTrue(result.contains(" Feedback button found with correct text"  ))
214218            }
215219    }
216220
@@ -314,6 +318,114 @@ class QTestGenerationChatTest {
314318                assertTrue(result.contains(" Cancel button clicked"  ))
315319                assertTrue(result.contains(" Test generation cancelled successfully"  ))
316320                assertTrue(result.contains(" Input field re-enabled after cancellation"  ))
321+                 assertTrue(result.contains(" Feedback button found with correct text"  ))
322+             }
323+     }
324+ 
325+     @Test
326+     fun  `test documentation generation error handling`  () {
327+         val  testCase =  TestCase (
328+             IdeProductProvider .IC ,
329+             LocalProjectInfo (
330+                 Paths .get(" tstData"  , " qTestGenerationTestProject/"  )
331+             )
332+         ).useRelease(System .getProperty(" org.gradle.project.ideProfileName"  ))
333+ 
334+         //  inject connection
335+         useExistingConnectionForTest()
336+ 
337+         Starter .newContext(CurrentTestMethod .hyphenateWithClass(), testCase).apply  {
338+             System .getProperty(" ui.test.plugins"  ).split(File .pathSeparator).forEach { path -> 
339+                 pluginConfigurator.installPluginFromPath(
340+                     Path .of(path)
341+                 )
342+             }
343+ 
344+             copyExistingConfig(Paths .get(" tstData"  , " configAmazonQTests"  ))
345+             updateGeneralSettings()
346+         }.runIdeWithDriver()
347+             .useDriverAndCloseIde {
348+                 waitForProjectOpen()
349+                 openFile(Paths .get(" testModule1"  , " HappyPath.java"  ).toString())
350+                 Thread .sleep(30000 )
351+                 val  result =  executePuppeteerScript(testDocumentationErrorScript)
352+                 assertTrue(result.contains(" new tab opened"  ))
353+                 assertTrue(result.contains(" Error message displayed correctly"  ))
354+                 assertTrue(result.contains(" Input field re-enabled after error"  ))
355+                 assertTrue(result.contains(" Feedback button found with correct text after error"  ))
356+                 assertTrue(result.contains(" Feedback button is clickable"  ))
357+             }
358+     }
359+ 
360+     @Test
361+     fun  `test remove function error handling`  () {
362+         val  testCase =  TestCase (
363+             IdeProductProvider .IC ,
364+             LocalProjectInfo (
365+                 Paths .get(" tstData"  , " qTestGenerationTestProject/"  )
366+             )
367+         ).useRelease(System .getProperty(" org.gradle.project.ideProfileName"  ))
368+ 
369+         //  inject connection
370+         useExistingConnectionForTest()
371+ 
372+         Starter .newContext(CurrentTestMethod .hyphenateWithClass(), testCase).apply  {
373+             System .getProperty(" ui.test.plugins"  ).split(File .pathSeparator).forEach { path -> 
374+                 pluginConfigurator.installPluginFromPath(
375+                     Path .of(path)
376+                 )
377+             }
378+ 
379+             copyExistingConfig(Paths .get(" tstData"  , " configAmazonQTests"  ))
380+             updateGeneralSettings()
381+         }.runIdeWithDriver()
382+             .useDriverAndCloseIde {
383+                 waitForProjectOpen()
384+                 openFile(Paths .get(" testModule1"  , " HappyPath.java"  ).toString())
385+                 Thread .sleep(30000 )
386+                 val  result =  executePuppeteerScript(testRemoveFunctionErrorScript)
387+                 assertTrue(result.contains(" new tab opened"  ))
388+                 assertTrue(result.contains(" Error message displayed correctly"  ))
389+                 assertTrue(result.contains(" Explanation message displayed correctly"  ))
390+                 assertTrue(result.contains(" Input field re-enabled after error"  ))
391+                 assertTrue(result.contains(" Feedback button found with correct text after error"  ))
392+                 assertTrue(result.contains(" Feedback button is clickable"  ))
393+             }
394+     }
395+ 
396+     @Test
397+     fun  `test method not found error handling`  () {
398+         val  testCase =  TestCase (
399+             IdeProductProvider .IC ,
400+             LocalProjectInfo (
401+                 Paths .get(" tstData"  , " qTestGenerationTestProject/"  )
402+             )
403+         ).useRelease(System .getProperty(" org.gradle.project.ideProfileName"  ))
404+ 
405+         //  inject connection
406+         useExistingConnectionForTest()
407+ 
408+         Starter .newContext(CurrentTestMethod .hyphenateWithClass(), testCase).apply  {
409+             System .getProperty(" ui.test.plugins"  ).split(File .pathSeparator).forEach { path -> 
410+                 pluginConfigurator.installPluginFromPath(
411+                     Path .of(path)
412+                 )
413+             }
414+ 
415+             copyExistingConfig(Paths .get(" tstData"  , " configAmazonQTests"  ))
416+             updateGeneralSettings()
417+         }.runIdeWithDriver()
418+             .useDriverAndCloseIde {
419+                 waitForProjectOpen()
420+                 openFile(Paths .get(" testModule1"  , " HappyPath.java"  ).toString())
421+                 Thread .sleep(30000 )
422+                 val  result =  executePuppeteerScript(testMethodNotFoundErrorScript)
423+                 assertTrue(result.contains(" new tab opened"  ))
424+                 assertTrue(result.contains(" Method not found error message displayed correctly"  ))
425+                 assertTrue(result.contains(" Method not found explanation displayed correctly"  ))
426+                 assertTrue(result.contains(" Input field re-enabled after error"  ))
427+                 assertTrue(result.contains(" Feedback button found with correct text after error"  ))
428+                 assertTrue(result.contains(" Feedback button is clickable"  ))
317429            }
318430    }
319431
0 commit comments