From ae5ffd018554d3d074a08e9b2c0b360026baf2fd Mon Sep 17 00:00:00 2001 From: Dotta Date: Thu, 24 Sep 2026 14:15:55 -0700 Subject: [PATCH] test(e2e): await chat lifecycle request completion Poll the same exact lifecycle action sequence after asynchronous browser clicks so CI does not assert before the resume request reaches the mock. Co-Authored-By: Paperclip --- tests/e2e/chat-adapters-ui-providers.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/chat-adapters-ui-providers.spec.ts b/tests/e2e/chat-adapters-ui-providers.spec.ts index 84531559990..017c3d10c28 100644 --- a/tests/e2e/chat-adapters-ui-providers.spec.ts +++ b/tests/e2e/chat-adapters-ui-providers.spec.ts @@ -75,7 +75,7 @@ async function exerciseGitHubReviewSetup(page: Page, mock: ChatMock, seed: Seed, await page.getByText("Connection health and controls", { exact: true }).click(); await page.getByRole("button", { name: "Pause", exact: true }).click(); await page.getByRole("button", { name: "Resume", exact: true }).click(); - expect(mock.lifecycleActions).toEqual(["pause", "resume"]); + await expect.poll(() => mock.lifecycleActions).toEqual(["pause", "resume"]); await page.getByRole("button", { name: "Replay failed delivery", exact: true }).click(); await expect.poll(() => mock.replayedDelivery).toBe(true); mock.setStatus("attention"); @@ -651,7 +651,7 @@ test.describe.serial("native chat adapter UI", () => { await expect( page.getByRole("button", { name: "Pause", exact: true }), ).toBeVisible(); - expect(mock.lifecycleActions).toEqual(["pause", "resume"]); + await expect.poll(() => mock.lifecycleActions).toEqual(["pause", "resume"]); mock.setStatus("attention"); await page.reload(); @@ -776,7 +776,7 @@ test.describe.serial("native chat adapter UI", () => { .click(); await expect(page).toHaveURL(new RegExp(`/${seed.prefix}/apps$`)); await expect.poll(() => mock.removed).toBe(true); - expect(mock.lifecycleActions).toEqual(["pause", "resume", "remove"]); + await expect.poll(() => mock.lifecycleActions).toEqual(["pause", "resume", "remove"]); }); } });