From 9ffc632822563c26d5221c6f435f8aaea6d40c9c Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 10 Jul 2026 15:14:15 +0200 Subject: [PATCH] test(app): wait for mobile sidebar motion to settle --- packages/app/e2e/helpers/sidebar.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/app/e2e/helpers/sidebar.ts b/packages/app/e2e/helpers/sidebar.ts index 63a6e0ceca..c6d0fb3ce1 100644 --- a/packages/app/e2e/helpers/sidebar.ts +++ b/packages/app/e2e/helpers/sidebar.ts @@ -61,13 +61,14 @@ export async function openMobileAgentSidebar(page: Page): Promise { export async function closeMobileAgentSidebar(page: Page): Promise { const closeButton = page.getByTestId("sidebar-close"); - await expect(closeButton).toBeInViewport({ timeout: 5_000 }); - await closeButton.click({ force: true }); + await expect(closeButton).toBeInViewport({ ratio: 1, timeout: 5_000 }); + await closeButton.click(); } -// The mobile sidebar panel animates via translateX; toBeInViewport reflects the rendered position. +// The mobile sidebar panel animates via translateX. Waiting for its header to be fully visible +// prevents a close click from targeting a button while the panel is still moving. export async function expectMobileAgentSidebarVisible(page: Page): Promise { - await expect(page.getByTestId("sidebar-sessions")).toBeInViewport({ timeout: 5_000 }); + await expect(page.getByTestId("sidebar-sessions")).toBeInViewport({ ratio: 1, timeout: 5_000 }); } export async function expectMobileAgentSidebarHidden(page: Page): Promise {