diff --git a/e2e-tests/full-flow.spec.ts b/e2e-tests/full-flow.spec.ts index aa7faa5..10ed2df 100644 --- a/e2e-tests/full-flow.spec.ts +++ b/e2e-tests/full-flow.spec.ts @@ -187,6 +187,8 @@ test.describe.serial("authenticated admin journey", () => { test("logout: signing out ends the session and returns to the login page", async () => { await page.goto("/dashboard"); await page.locator("summary.profile").click(); // open the profile dropdown + // Sign out is the only item in it — the menu offers nothing that goes nowhere. + await expect(page.locator("details.menu:has(summary.profile) .menu-item")).toHaveText(["Sign out"]); await page.locator('form[action="/logout"] button[type="submit"]').click(); await page.waitForURL(/\/login(\?|$)/); // The session is gone: /dashboard is gated, so it bounces back to the login page (no admin nav). diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 704de7a..1c4bbc7 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -151,7 +151,6 @@ const messages = { "shell.guest": "Guest", "shell.mainNav": "Main navigation", "shell.openMenu": "Open menu", - "shell.profile": "Profile", "shell.sidebar": "Primary", "shell.signedInAs": "Signed in as {{name}}", "shell.signIn": "Sign in", diff --git a/src/i18n/locales/sv-SE.ts b/src/i18n/locales/sv-SE.ts index 2df132f..0fcd4d3 100644 --- a/src/i18n/locales/sv-SE.ts +++ b/src/i18n/locales/sv-SE.ts @@ -137,7 +137,6 @@ const messages: CoreMessages = { "shell.guest": "Gäst", "shell.mainNav": "Huvudmeny", "shell.openMenu": "Öppna menyn", - "shell.profile": "Profil", "shell.sidebar": "Primär", "shell.signedInAs": "Inloggad som {{name}}", "shell.signIn": "Logga in", diff --git a/src/ui/shell.test.ts b/src/ui/shell.test.ts index 68c0877..cc9edb5 100644 --- a/src/ui/shell.test.ts +++ b/src/ui/shell.test.ts @@ -39,6 +39,9 @@ test("app shell renders sidebar, topbar and the content slot", async () => { // Sign out is a CSRF-guarded POST form (state change, not a GET link), carrying the token. assert.match(html, /