diff --git a/packages/app/e2e/session/session-composer-dock.spec.ts b/packages/app/e2e/session/session-composer-dock.spec.ts index e9cfc03e4..deb87a062 100644 --- a/packages/app/e2e/session/session-composer-dock.spec.ts +++ b/packages/app/e2e/session/session-composer-dock.spec.ts @@ -50,6 +50,15 @@ async function clearPermissionDock(page: any, label: RegExp) { } } +async function setAutoAccept(page: any, enabled: boolean) { + const button = page.locator('[data-action="prompt-permissions"]').first() + await expect(button).toBeVisible() + const pressed = (await button.getAttribute("aria-pressed")) === "true" + if (pressed === enabled) return + await button.click() + await expect(button).toHaveAttribute("aria-pressed", enabled ? "true" : "false") +} + async function withMockPermission( page: any, request: { @@ -168,6 +177,7 @@ test("blocked question flow unblocks after submit", async ({ page, sdk, gotoSess test("blocked permission flow supports allow once", async ({ page, sdk, gotoSession }) => { await withDockSession(sdk, "e2e composer dock permission once", async (session) => { await gotoSession(session.id) + await setAutoAccept(page, false) await withMockPermission( page, { @@ -195,6 +205,7 @@ test("blocked permission flow supports allow once", async ({ page, sdk, gotoSess test("blocked permission flow supports reject", async ({ page, sdk, gotoSession }) => { await withDockSession(sdk, "e2e composer dock permission reject", async (session) => { await gotoSession(session.id) + await setAutoAccept(page, false) await withMockPermission( page, { @@ -221,6 +232,7 @@ test("blocked permission flow supports reject", async ({ page, sdk, gotoSession test("blocked permission flow supports allow always", async ({ page, sdk, gotoSession }) => { await withDockSession(sdk, "e2e composer dock permission always", async (session) => { await gotoSession(session.id) + await setAutoAccept(page, false) await withMockPermission( page, { @@ -300,6 +312,7 @@ test("child session permission request blocks parent dock and supports allow onc }) => { await withDockSession(sdk, "e2e composer dock child permission parent", async (session) => { await gotoSession(session.id) + await setAutoAccept(page, false) const child = await sdk.session .create({