From 2e4d7d383520ad1255843902afdf0e7ff8bde435 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 7 Oct 2026 11:23:53 +0000 Subject: [PATCH] fix(web): stabilize Phase 2 E2E (settings i18n, empty project, chart plot load) Co-authored-by: cynarAI --- apps/web/e2e/chart-links.spec.ts | 2 +- apps/web/e2e/empty-project-state.spec.ts | 9 +++++---- apps/web/e2e/helpers.ts | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/web/e2e/chart-links.spec.ts b/apps/web/e2e/chart-links.spec.ts index f6d240f..94db42a 100644 --- a/apps/web/e2e/chart-links.spec.ts +++ b/apps/web/e2e/chart-links.spec.ts @@ -72,7 +72,7 @@ test("chart links retain supported URLs and browser encoding semantics", async ( "java%73cript:void(0)", ]) { await page.goto(`${fixture}?${new URLSearchParams({ href })}`); - await expect(page.locator("svg circle").first()).toBeVisible({ timeout: 30_000 }); + await expect(page.locator("svg circle").first()).toBeVisible({ timeout: 90_000 }); const link = page.locator("svg a").first(); await expect(link).toBeAttached(); expect( diff --git a/apps/web/e2e/empty-project-state.spec.ts b/apps/web/e2e/empty-project-state.spec.ts index 8218022..078b131 100644 --- a/apps/web/e2e/empty-project-state.spec.ts +++ b/apps/web/e2e/empty-project-state.spec.ts @@ -7,15 +7,16 @@ test("empty project space offers Start before the main conversation exists", asy await completeOnboarding(page); const side = await rpc<{ id: string }>(page, "spaces/create", { name: "Empty project" }); - await page.evaluate((spaceId) => { - window.localStorage.setItem("rakazo:space-id", spaceId); - }, side.id); await page.reload({ waitUntil: "domcontentloaded" }); await expect(page.getByTestId("shell-root")).toHaveAttribute("data-ready", "true", { timeout: 60_000, }); - const sidebarStart = page.getByTestId(`project-start-${side.id}`); + const projekte = page.locator(".sidebar-projekte"); + await expect(projekte.getByText("Empty project", { exact: true })).toBeVisible({ + timeout: 30_000, + }); + const sidebarStart = projekte.getByTestId(`project-start-${side.id}`); await expect(sidebarStart).toBeVisible({ timeout: 30_000 }); await expect(sidebarStart).toContainText(/Start|Starten/i); }); diff --git a/apps/web/e2e/helpers.ts b/apps/web/e2e/helpers.ts index 07ad56c..8e2d7ea 100644 --- a/apps/web/e2e/helpers.ts +++ b/apps/web/e2e/helpers.ts @@ -291,7 +291,7 @@ export async function openUserSettings( await expect(menuTrigger).toBeVisible({ timeout: 30_000 }); await menuTrigger.scrollIntoViewIfNeeded(); await menuTrigger.click(); - await page.getByRole("button", { name: "Settings", exact: true }).click(); + await page.getByRole("button", { name: /^Settings$|^Einstellungen$/i }).click(); const settings = page.getByTestId("user-settings"); await expect(settings).toBeVisible(); if (section && section !== "general") {