test(e2e): expand Geschichten Playwright suite with full a11y + visual regression coverage #384

Open
opened 2026-05-02 18:54:22 +02:00 by marcel · 0 comments
Owner

Context

PR #382 shipped a minimal e2e (frontend/e2e/geschichten.spec.ts) covering writer-create-publish + reader-detail + a single AxeBuilder scan on the index. Sara flagged on the review (#5766 B1) that the broader suite is missing.

Scope

Add the remaining specs Sara requested:

test('reader cannot fetch a DRAFT by direct URL (404)', ...)
test('person discovery: card on /persons/[id] links to story', ...)
test('document drawer Geschichten column expands to 4 columns when stories exist', ...)
test('a11y: /geschichten/[id] passes AxeBuilder wcag2aa in light AND dark mode', ...)

Visual regression at three breakpoints (320px, 768px, 1440px) with toHaveScreenshot for the index, detail, and editor pages.

Acceptance criteria

  • All four new e2e specs pass against the local docker-compose stack.
  • AxeBuilder scans both light and dark mode and reports zero serious/critical violations on /geschichten/[id].
  • Visual regression baseline images are committed under frontend/e2e/__screenshots__/.

Out of scope

  • axe-core integration into the unit test layer.
  • Performance / load testing — tracked separately under NFR-PERF-001.

Closes the deferred portion of Sara's review on PR #382.

## Context PR #382 shipped a minimal e2e (`frontend/e2e/geschichten.spec.ts`) covering writer-create-publish + reader-detail + a single AxeBuilder scan on the index. Sara flagged on the review (#5766 B1) that the broader suite is missing. ## Scope Add the remaining specs Sara requested: ``` test('reader cannot fetch a DRAFT by direct URL (404)', ...) test('person discovery: card on /persons/[id] links to story', ...) test('document drawer Geschichten column expands to 4 columns when stories exist', ...) test('a11y: /geschichten/[id] passes AxeBuilder wcag2aa in light AND dark mode', ...) ``` Visual regression at three breakpoints (320px, 768px, 1440px) with `toHaveScreenshot` for the index, detail, and editor pages. ## Acceptance criteria - All four new e2e specs pass against the local docker-compose stack. - AxeBuilder scans both light and dark mode and reports zero `serious`/`critical` violations on `/geschichten/[id]`. - Visual regression baseline images are committed under `frontend/e2e/__screenshots__/`. ## Out of scope - `axe-core` integration into the unit test layer. - Performance / load testing — tracked separately under NFR-PERF-001. Closes the deferred portion of Sara's review on PR #382.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcel/familienarchiv#384