Skip to main content

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).