QC Master Test Plan
Error state tests
Error state tests — documentation pending.
Complete
Error-state QC verifies that every failure mode — network error, 404, 500, validation reject, permission deny — renders a documented error state that is locale-correct, recoverable (offers a next step), and never leaks raw stack traces. The platform has five canonical error layouts; every error surface must use one of them.
The five canonical error layouts
- 404 not-found
- Used when a slug/id doesn’t resolve. Layout: large 404 illustration + "Page not found" + suggestions ("Back to home", "Search the calendar"). Returns HTTP 404 — not 200 with 404 UI.
- 500 server-error
- Used when SSR or API call fails unexpectedly. Layout: apology + retry CTA + link to status page if applicable. No stack trace visible to user. Returns HTTP 500.
- Inline form error
- Used for validation rejects. Renders directly beneath the offending input, in red text, with a clear instruction ("Email must contain @"). The page does not reload.
- Toast / banner error
- Used for transient failures (submit failed, network blip). Renders top-right (top-left under RTL), auto-dismisses after 5s, includes a manual close + a retry action when applicable.
- Permission-denied page
- Used when an authenticated user tries to access a route they don’t have role permission for. Returns HTTP 404 to avoid leaking that the URL exists (not 403 — see admin route security).
