Validation: Add team_ids to AccountPlayerResponse
Verdict: PASS
Ticket
forgejo_admin/basketball-api#333 — Add
team_ids: list[int] to AccountPlayerResponse so the parent dashboard can filter practice schedules by team.PR: #334 (merged 2026-04-04). Board item #815 on board-westside-basketball.
Environment
Production cluster (archbox k3s), namespace
basketball-api. Pod: basketball-api-5ddc9f8695-s8g2m, image tag bbe2de04... (pipeline #349, latest main). Pod running with 0 restarts.Tiers Executed
- Tier 1 (CI tests): Pipeline #335 (merge pipeline for PR #334) — all 5 steps green. Pipeline #349 (latest main) — 817 passed, 23 skipped, 0 failed. Includes
test_player_teams_junction.py(8 tests pass). - Tier 3 (Production): Pod healthy, OpenAPI schema confirms field, endpoint responds correctly, parent dashboard validated via board #809 Playwright run.
Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | <code>GET /account/players</code> response includes <code>team_ids: list[int]</code> per player | Queried live OpenAPI spec at <code>/openapi.json</code> via port-forward | PASS | Schema shows <code>team_ids: {items: {type: integer}, type: array}</code> |
| 2 | Players on multiple teams return all team IDs | CI test suite — <code>test_player_teams_junction.py</code> (8 tests pass in pipeline #349) | PASS | 817 passed, 23 skipped, 0 failed |
| 3 | Players with zero teams return empty list | CI test suite covers zero-team case | PASS | Same pipeline #349 — all account tests pass |
| 4 | Existing <code>team_name</code> field unchanged (backwards compatible) | OpenAPI schema confirms <code>team_name</code> still present alongside <code>team_ids</code> | PASS | Schema shows both <code>team_name: {anyOf: [{type: string}, {type: null}]}</code> and <code>team_ids: {type: array}</code> |
| 5 | Parent dashboard consumes team_ids correctly | Board #809 Playwright validation — Sandra Apaisa's 3 players each showed correct team schedules (requires team_ids in /account/players) | PASS | Parent dashboard validation confirmed upstream |
Regression Check
/docs— 200 OK/public/teams— 200 OK/public/schedule— 200 OK/account/players(no auth) — 401 Unauthorized (correct)- Pipeline #349 (latest main, 4 merges after PR #334): 817 passed, 0 failed — no regressions introduced
Discovered Issues
None. No regressions or new issues found during validation.