@@ -20,11 +20,76 @@ import org.junit.jupiter.api.BeforeEach
20
20
import org.junit.jupiter.api.Test
21
21
import org.kodein.di.DI
22
22
import org.kodein.di.bindSingleton
23
- import software.aws.toolkits.jetbrains.uitests.chatTests.transformHappyPathScript
24
23
import java.io.File
25
24
import java.nio.file.Path
26
25
import java.nio.file.Paths
27
26
27
+ // language=JS
28
+ val transformHappyPathScript = """
29
+ const puppeteer = require('puppeteer');
30
+ async function testNavigation() {
31
+ const browser = await puppeteer.connect({
32
+ browserURL: "http://localhost:9222"
33
+ })
34
+ try {
35
+ const pages = await browser.pages()
36
+ for (const page of pages) {
37
+ await page.type('.mynah-chat-prompt-input', '/transform')
38
+ await page.keyboard.press('Enter')
39
+
40
+ await page.waitForSelector('.mynah-chat-item-form-items-container', {
41
+ timeout: 5000
42
+ })
43
+ const formInputs = await page.$$('.mynah-form-input-wrapper')
44
+
45
+ const moduleLabel = await formInputs[0].evaluate(
46
+ element => element.querySelector('.mynah-ui-form-item-mandatory-title').textContent
47
+ )
48
+ console.log('Module selection label:', moduleLabel)
49
+
50
+ const versionLabel = await formInputs[1].evaluate(
51
+ element => element.querySelector('.mynah-ui-form-item-mandatory-title').textContent
52
+ )
53
+ console.log('Version selection label:', versionLabel)
54
+
55
+ await page.evaluate(() => {
56
+ const button = document.querySelector('button[action-id="codetransform-input-confirm"]')
57
+ button.click()
58
+ })
59
+
60
+ const skipTestsForm = await page.waitForSelector('button[action-id="codetransform-input-confirm-skip-tests"]', {
61
+ timeout: 5000
62
+ })
63
+ console.log('Skip tests form appeared:', skipTestsForm !== null)
64
+
65
+ await page.evaluate(() => {
66
+ const button = document.querySelector('button[action-id="codetransform-input-confirm-skip-tests"]')
67
+ button.click()
68
+ })
69
+
70
+ const oneOrMultipleDiffsForm = await page.waitForSelector('button[action-id="codetransform-input-confirm-one-or-multiple-diffs"]', {
71
+ timeout: 5000
72
+ })
73
+ console.log('One or multiple diffs form appeared:', oneOrMultipleDiffsForm !== null)
74
+
75
+ await page.evaluate(() => {
76
+ const button = document.querySelector('button[action-id="codetransform-input-confirm-one-or-multiple-diffs"]')
77
+ button.click()
78
+ })
79
+
80
+ const errorMessage = await page.waitForSelector('text/Sorry, I couldn\'t run the Maven clean install command', {
81
+ timeout: 5000
82
+ })
83
+ console.log('Error message:', await errorMessage.evaluate(el => el.textContent))
84
+ }
85
+ } finally {
86
+ await browser.close()
87
+ }
88
+ }
89
+ testNavigation().catch(console.error)
90
+
91
+ """ .trimIndent()
92
+
28
93
class TransformChatTest {
29
94
30
95
init {
0 commit comments