From 92e29a6ad792ad53a32d3eaedfb18b9627cc3bbc Mon Sep 17 00:00:00 2001 From: diegosouzapw Date: Thu, 19 Mar 2026 20:05:51 -0300 Subject: [PATCH] fix(e2e): dismiss pre-existing modal overlay in providers E2E test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Bailian Coding Plan provider page may render a dialog on load that blocks pointer events on the Add API Key button. Add pre-dialog dismissal (Escape key) before attempting to click. Also triages #485 (Claude Code tool calls — needs-info). --- tests/e2e/providers-bailian-coding-plan.spec.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/e2e/providers-bailian-coding-plan.spec.ts b/tests/e2e/providers-bailian-coding-plan.spec.ts index ab26ae35e0..e86d95ce1e 100644 --- a/tests/e2e/providers-bailian-coding-plan.spec.ts +++ b/tests/e2e/providers-bailian-coding-plan.spec.ts @@ -63,6 +63,13 @@ test.describe("Bailian Coding Plan Provider", () => { const redirectedToLogin = page.url().includes("/login"); test.skip(redirectedToLogin, "Authentication enabled without a login fixture."); + // Dismiss any pre-existing dialog/overlay that may appear on page load + const preExistingDialog = page.getByRole("dialog").first(); + if (await preExistingDialog.isVisible({ timeout: 2000 }).catch(() => false)) { + await page.keyboard.press("Escape"); + await preExistingDialog.waitFor({ state: "hidden", timeout: 3000 }).catch(() => {}); + } + const addKeyButton = page.getByRole("button", { name: /add.*api.*key|add.*key|add.*connection|connect/i, }); @@ -175,6 +182,13 @@ test.describe("Bailian Coding Plan Provider", () => { const redirectedToLogin = page.url().includes("/login"); test.skip(redirectedToLogin, "Authentication enabled without a login fixture."); + // Dismiss any pre-existing dialog/overlay that may appear on page load + const preExistingDialog = page.getByRole("dialog").first(); + if (await preExistingDialog.isVisible({ timeout: 2000 }).catch(() => false)) { + await page.keyboard.press("Escape"); + await preExistingDialog.waitFor({ state: "hidden", timeout: 3000 }).catch(() => {}); + } + const addKeyButton = page.getByRole("button", { name: /add.*api.*key|add.*key|add.*connection|connect/i, });