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:
@@ -26,7 +26,7 @@ test.describe('Authentication', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('protected routes redirect to /login without session', async ({ page }) => {
|
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 page.goto(url);
|
||||||
await expect(page).toHaveURL(/\/login/);
|
await expect(page).toHaveURL(/\/login/);
|
||||||
}
|
}
|
||||||
|
|||||||
15
frontend/e2e/briefwechsel-removed.spec.ts
Normal file
15
frontend/e2e/briefwechsel-removed.spec.ts
Normal 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();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -4,14 +4,6 @@ import { test, expect } from '@playwright/test';
|
|||||||
test.describe('Stammbaum — issue #358', () => {
|
test.describe('Stammbaum — issue #358', () => {
|
||||||
test.skip();
|
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 }) => {
|
test('/stammbaum renders the page heading', async ({ page }) => {
|
||||||
await page.goto('/stammbaum');
|
await page.goto('/stammbaum');
|
||||||
await expect(page.getByRole('heading', { name: 'Stammbaum' })).toBeVisible();
|
await expect(page.getByRole('heading', { name: 'Stammbaum' })).toBeVisible();
|
||||||
|
|||||||
Reference in New Issue
Block a user