Modules Documentation
QC test cases
Functional, UI, responsive, RTL, SEO test cases.
Complete
Files QC is the most exhaustive in the platform because every file is high-investment and the maturity reference. Functional, cross-module, SEO/AEO, AR/RTL, sponsor-flow, lead-capture, and reader-specific tests all apply.
Functional checks (per file)
- All three routes return 200 in EN and AR (listing, details, reader).
- Cover renders correctly: real image OR the file-specific SVG fallback. No "broken cover" state.
- File number eyebrow (#NN) renders in Western Arabic numerals in both EN and AR.
- Featured + Sponsored chips render in correct positions (top-right of cover) per their flags.
- Best For block renders with the correct localized content from `ff.bestFor.<id>` i18n key.
- Sponsor mini-row renders ONLY when `sponsorId` is set + the resolved sponsor exists.
Reader checks
- TOC sidebar renders all `tocSections[]` correctly on desktop; drawer-accessible on mobile.
- Active section highlight in TOC updates as the user scrolls (IntersectionObserver behavior).
- Reading progress bar moves from 0% to 100% across the article scroll.
- `founder_file_reader_complete` fires when scroll ≥90% AND time-on-page ≥30s.
- TOC anchors all resolve to existing body section IDs (no broken jump links).
Download / lead-capture checks
- Download modal opens on CTA click. Pre-populates with the correct file context.
- Form blocks submission until `consent_marketing` is ticked (the gate).
- `consent_partners` is optional; submission succeeds without it.
- On successful submit: `founder_file_download_complete` event fires + (if sponsored) `sponsor_lead_generated` event fires.
- On abandon (modal close without submit): `founder_file_download_abandon` event fires with `last_field` property.
AR / RTL checks
- Switching to /ar/ flips entire layout: TOC moves to right, reader header mirrors, sticky elements relocate.
- Arabic body content is authored (not auto-translated). Editorial Arabic style + punctuation maintained.
- AR-specific typography clamp values applied (slightly larger than EN counterparts).
- File number stays Western digits (0-9), as documented in status-badge-logic.
