Playwright E2E test suite covering auth, RBAC, memory browser, trace inspector, rate limits, and automated WCAG 2.1 AA accessibility scanning across all dashboard routes.
Milestone 4.E.1 — Dashboard E2E (Playwright)
Status: Planned
Goal: Track E — Exit Gate
Phase: 4 — Operator Platform & Multi-Provider
Estimated effort: 3 days
Track: Track E — Exit Gate
Why This Milestone Exists
The dashboard is the first Phase 4 surface with real browser-driven user flows. Unit tests on React components don't catch broken auth redirects, RBAC leakage across roles, or regressions in multi-step flows. Each spec authenticates as all four roles (owner/admin/viewer/billing) and asserts both allowed and denied paths.
Orientation (indicative)
Named paths, package layouts, libraries, schemas, env vars, and commands anywhere on this page are rough sketches for orientation — inspiration and a baseline, not a required change list.
During implementation, expect to:
- open the live tree and follow existing patterns before inventing new ones
- research current constraints (latency, tenancy, deploy shape, libraries) more deeply than this page can
- advance the design beyond the sketch where measurement or code reality says so
- land work in different filenames, merged packages, deferred docs, or new surfaces when the situation calls for it
Prefer outcomes over matching any particular file tree or command sequence.
Areas that may be involved (situational — not a checklist):
- Operator dashboard
- Provider abstraction / adapters
- Evaluation / benchmarks
Success signals
Outcome-oriented signals that the milestone is in good shape. Exact filenames, package layouts, and commands may differ from any sketches above.
- All 6 spec files pass on chromium in CI
-
accessibility.spec.tsreports zeroserious/criticalaxe violations on all top-level routes - RBAC leak test:
viewerrole DOM contains zero delete-action elements (not justdisabled) -
dashboard-e2e-smokerequired on PR;dashboard-e2e-fullnightly cron
Prerequisites
- All Track D milestones (4.D.1–4.D.5)
- Docker-compose stack with seeded Postgres + mock LLM provider
Last updated on