@@ -20,11 +20,76 @@ import org.junit.jupiter.api.BeforeEach
2020import org.junit.jupiter.api.Test
2121import org.kodein.di.DI
2222import org.kodein.di.bindSingleton
23- import software.aws.toolkits.jetbrains.uitests.chatTests.transformHappyPathScript
2423import java.io.File
2524import java.nio.file.Path
2625import java.nio.file.Paths
2726
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+
2893class TransformChatTest {
2994
3095 init {
0 commit comments