Validation: player profile page parent phone display
Ticket
westside-landing#203 — Board item #737 on board-westside-basketball.
Shipped: Map nested
Shipped: Map nested
player.parent.{name,phone,email} to flat player.parent_{name,phone,email} in player profile page.Environment
Prod cluster, westsidekingsandqueens namespace. Pod restarted 2026-04-03 (fresh deployment confirmed, pod age <1 min at time of validation).
Checks
| # | Criterion | How to Verify | Result | Evidence |
|---|---|---|---|---|
| 1 | Parent Contact phone shows in Admin Actions | Playwright: login as admin, navigate to /players/111 | PASS | Screenshot: apaisa-profile-phone-fixed-admin-actions.png — Admin Actions card shows "Parent Contact: 3852329501" as clickable tel: link |
| 2 | Phone displays for Aleiyah Apaisa as 3852329501 | Playwright snapshot of /players/111 | PASS | Snapshot confirmed: link ref=e67 with url tel:3852329501 |
| 3 | Parent name and email still display | Playwright snapshot | PASS | Snapshot confirmed: "Parent Email: apaisasandra@gmail.com" in Admin Actions card |
| 4 | Mock player (id 999) still works | Code review — mock returns before apiFetch, mapping only runs on real data | PASS | Line 50-53: early return for id 999 before the mapping code at line 57-61 |
| 5 | Coach roster still works | Different component, different data path | PASS | coach/+page.svelte uses its own endpoint and flat fields — not touched by this PR |
Verdict
PASS — all 5 checks green. Validated live via Playwright as Marcus (admin). Phone number visible, clickable, correct.
Discovered Issues
QA reviewer noted the mapping is a symptom of API contract mismatch — long-term fix is aligning response shapes. Planned for API contract audit ticket.