test(briefwechsel): guard the removed /briefwechsel route returns 404

Add an active e2e spec asserting /briefwechsel 404s on the styled app
error page. The old assertion lived in stammbaum.spec.ts inside a
test.skip() block (never executed) and asserted the opposite — remove it.
Drop /briefwechsel from the auth protected-route loop; /documents (the
redirect target) sits behind the same authenticated() rule, so coverage
is preserved.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-06-02 20:34:45 +02:00
committed by marcel
parent 975223c972
commit 13bbfa7abd
3 changed files with 16 additions and 9 deletions

View File

@@ -26,7 +26,7 @@ test.describe('Authentication', () => {
});
test('protected routes redirect to /login without session', async ({ page }) => {
for (const url of ['/documents/new', '/persons', '/briefwechsel']) {
for (const url of ['/documents/new', '/persons']) {
await page.goto(url);
await expect(page).toHaveURL(/\/login/);
}

View File

@@ -0,0 +1,15 @@
import { test, expect } from '@playwright/test';
// The standalone Briefwechsel view was removed (its one inbound link now
// deep-links into document search). The old URL is allowed to 404 — no
// redirect shim. This guard runs in the authenticated project so the route
// genuinely 404s on the styled app error page instead of bouncing to /login.
test.describe('Briefwechsel view removed', () => {
test('/briefwechsel returns 404 on the styled app error page', async ({ page }) => {
const response = await page.goto('/briefwechsel');
expect(response?.status()).toBe(404);
// +error.svelte renders the status code prominently.
await expect(page.getByText('404')).toBeVisible();
});
});

View File

@@ -4,14 +4,6 @@ import { test, expect } from '@playwright/test';
test.describe('Stammbaum — issue #358', () => {
test.skip();
test('nav swap: /briefwechsel still renders without 404', async ({ page }) => {
// Plan journey 4: the /briefwechsel route must stay intact even though the
// AppNav now points at /stammbaum.
const response = await page.goto('/briefwechsel');
expect(response?.status()).toBeLessThan(400);
await expect(page).toHaveURL(/\/briefwechsel/);
});
test('/stammbaum renders the page heading', async ({ page }) => {
await page.goto('/stammbaum');
await expect(page.getByRole('heading', { name: 'Stammbaum' })).toBeVisible();