QC Master Test Plan
Functional tests
Functional tests — documentation pending.
Complete
Functional QC verifies that every documented feature does what the spec says it does. The smallest possible unit: one observable behaviour at one URL with one user role. Functional cases are where 80% of pre-release defects get caught — and where regression suites grow fastest.
Functional checklist per module
- Every documented route returns 200 in both /en and /ar (smoke layer — first thing run on every build).
- Every listing page filters work in isolation + combination: pick country=EG → only EG events show; pick country=EG + category=demo-day → only that intersection.
- Every status-derived UI element matches the underlying data: a "closing-soon" badge on a card means the parent record’s computed status is actually closing-soon.
- Every CTA outbound link opens the correct URL with the correct query params (tracking + analytics events firing).
- Every reverse-lookup rail (e.g. "Speaking history" on a founder profile) returns the correct subset when the underlying mention arrays change.
- Every form submission produces the right side-effect: pending record created, email sent, status flipped, admin queue populated.
- Every cross-module link traverses correctly: click a "Coverage" card on an event details page → land on /coverage/:slug with the correct article.
