Add Playwright accessibility and mobile layout e2e tests
All checks were successful
CI / backend-lint (push) Successful in 49s
CI / actions-lint (push) Successful in 15s
CI / frontend-lint (push) Successful in 1m2s

Set up end-to-end test infrastructure with Docker Compose test
environment, Playwright config, and automated global setup/teardown
that seeds a test database and creates fixtures via the API.

Tests cover 11 pages across both dark/light themes for WCAG 2.0 AA
accessibility (axe-core), and across 3 viewports (mobile, tablet,
desktop) for horizontal overflow and touch target validation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-20 20:08:17 +01:00
parent a381633413
commit a7ec49fcad
12 changed files with 442 additions and 7 deletions

17
frontend/e2e/fixtures.ts Normal file
View File

@@ -0,0 +1,17 @@
import { readFileSync } from 'node:fs'
import { resolve } from 'node:path'
interface Fixtures {
gameId: number
runId: number
genlockeId: number
}
let cached: Fixtures | null = null
export function loadFixtures(): Fixtures {
if (cached) return cached
const raw = readFileSync(resolve(__dirname, '.fixtures.json'), 'utf-8')
cached = JSON.parse(raw) as Fixtures
return cached
}