Visual Baseline
How to run the Playwright visual, route-smoke, and persona checks.
The authenticated app owns a Playwright harness in apps/app/e2e. It fixes the
timezone to UTC, captures traces on retry/failure, checks horizontal overflow,
and attaches full-page screenshots to the HTML report.
Test Tiers
- Golden: six representative routes in light and dark themes at 390, 768, and 1440 px.
- Route smoke: every public and authenticated route at one desktop viewport, including accessibility checks and unexpected console errors.
- Persona: added only where Owner/Admin/Member/Viewer permissions produce meaningfully different UI.
Run public coverage against a locally running app:
E2E_BASE_URL=http://localhost:3000 bun --cwd apps/app e2eSet E2E_TEST_EMAIL and E2E_TEST_PASSWORD to include authenticated routes.
The account must be disposable and safe for tests. Credentials and generated
storage state are never committed. Open the generated playwright-report to
review screenshots and traces.
Experience Checklist
The acceptance checklist every product surface must satisfy before it ships.
Dark Mode
Leave Localhost supports light mode, dark mode, and system-preference detection out of the box. The implementation uses next-themes on the app side and CSS custom properties on the design-token side.