diff --git a/packages/amazonq/test/e2e/amazonq/framework/framework.ts b/packages/amazonq/test/e2e/amazonq/framework/framework.ts index 1dcdd433ea5..0cc9a9298ee 100644 --- a/packages/amazonq/test/e2e/amazonq/framework/framework.ts +++ b/packages/amazonq/test/e2e/amazonq/framework/framework.ts @@ -79,6 +79,12 @@ export class qTestingFramework { await ui.messageReceiver(event) }) ) + + /** + * We need to manually indicate that the UI is ready since we are using a custom mynah UI event routing + * implementation instead of routing events through the real webview + **/ + DefaultAmazonQAppInitContext.instance.getAppsToWebViewMessagePublisher().setUiReady() } /** diff --git a/packages/amazonq/test/e2e/amazonq/framework/messenger.ts b/packages/amazonq/test/e2e/amazonq/framework/messenger.ts index 0aa363d2e3d..231e93b35be 100644 --- a/packages/amazonq/test/e2e/amazonq/framework/messenger.ts +++ b/packages/amazonq/test/e2e/amazonq/framework/messenger.ts @@ -190,9 +190,9 @@ export class Messenger { * Wait until the chat has finished loading. This happens when a backend request * has finished and responded in the chat */ - await waitUntil( - () => { - return Promise.resolve(event()) + const ok = await waitUntil( + async () => { + return event() }, { interval: waitOverrides ? waitOverrides.waitIntervalInMs : this.waitIntervalInMs, @@ -202,7 +202,7 @@ export class Messenger { ) // Do another check just in case the waitUntil time'd out - if (!event()) { + if (!ok) { assert.fail( `Event has not finished loading in: ${waitOverrides ? waitOverrides.waitTimeoutInMs : this.waitTimeoutInMs} ms` )