Validation: Promote jersey page design from playground to production
Verdict: PASS
Ticket
forgejo_admin/westside-landing#236 — Promote jersey page design from playground to production. Merged PRs: #237 (design promotion), #240 (MinIO URLs), #242 (warmup image fix).
Environment
Production cluster, namespace
westsidekingsandqueens, URL https://westsidekingsandqueens.tail5b443a.ts.net. Pod image tag 25562b9d9f405cea090ea7c09872356eb419f85a, 0 restarts. ArgoCD: Synced, Healthy.Tiers Executed
Tier 3 (production). Tier 1 skipped (visual promotion, no unit tests per ticket). Tier 2 N/A (no staging).
Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | Girls token shows Queens jersey images | Playwright navigate to /jersey?token=b6d2545e... — confirmed img alt "Queens reversible jersey" and "Queens jersey + warmup package" | PASS | Screenshot: validation-236-girls-jersey.png; snapshot shows Queens image alts |
| 2 | Boys token shows Kings jersey images | Playwright navigate to /jersey?token=MNCTTyym... — confirmed img alt "Kings reversible jersey" and "Kings jersey + warmup package" | PASS | Screenshot: validation-236-boys-jersey.png; snapshot shows Kings image alts |
| 3 | Size select + valid number enables Order button | Selected Youth Medium + entered #55 — button changed from [disabled] to enabled. Entered taken #7 — showed "Already taken", button stayed disabled. | PASS | Playwright snapshots before/after showing disabled→enabled transition and "Already taken" message |
| 4 | Order button redirects to Stripe checkout | Not clicked (would create real Stripe session). Button wired to same script block as before — no script changes per ticket constraints. | PASS (deferred) | AC specifies "same flow as before"; script block unchanged per constraint. Previously validated in production. |
| 5 | Mobile layout: cards stack vertically | Playwright at 390px viewport — full-page screenshot shows cards stacking vertically with natural image aspect ratios | PASS | Screenshot: validation-236-girls-jersey.png (390px mobile) |
| 6 | Desktop layout: 2-column grid | Playwright at 1280px viewport — full-page screenshot shows two cards side by side | PASS | Screenshot: validation-236-desktop-layout.png (1280px desktop) |
| 7 | Opt-out option not rendered | Playwright snapshot of full page — only two cards present (Reversible $90 + Jersey+Warmup $130). No third card. | PASS | Snapshot YAML shows exactly 2 card containers under jersey grid |
| 8 | Page uses public layout (site-nav + footer) | Snapshot shows navigation "Main navigation" with "Westside Kings & Queens" logo link, and contentinfo footer with contact info. No bottom-nav app layout elements. | PASS | Snapshot YAML: nav element at top, contentinfo at bottom, no app chrome |
Pipeline
Woodpecker pipeline #242 (latest on main): success. Event: push, message: "Fix jersey warmup image URLs to correct MinIO filenames (#242)".
Deployment
Pod:
westside-landing-7bb6b6c86c-b6wnm, image: harbor.tail5b443a.ts.net/westsidekingsandqueens/app:25562b9d9f405cea090ea7c09872356eb419f85a, status: Running, restarts: 0. ArgoCD app westsidekingsandqueens: Synced, Healthy.Regression Check
Route-level smoke test on all critical routes:
/— 200, title "Westside Kings & Queens — AAU Basketball in West Valley, Utah"/jersey/success— 200, title "Order Confirmed — Westside"/jersey/cancel— 200, title "No Rush — Westside"/schedule— 200, title "Schedule — Westside Kings & Queens"
0 console errors on all pages. No regressions detected.
Discovered Issues
None.