[SPA] Shared contract for lobby/game phase view-model #155

Merged
integrator-bot merged 1 commits from dev/issue-149-phase-view-model into main 2026-03-01 11:55:25 +01:00
Owner

Closes #149

Summary

  • Added shared phase_view_model contract in lobby.session_detail response for consistent host/player SPA phase handling.
  • Introduced _build_phase_view_model(...) to centralize phase/action flags and player-count constraints.
  • Added coverage for contract shape and phase-specific flag transitions.

Acceptance evidence

  • Scope kept to SPA phase view-model contract only (no backend migrations, no deploy/release changes).
  • Join->start->gameplay core flow preserved; existing session payload keys remain intact with additive phase_view_model.

Automated checks

  • .venv/bin/python manage.py test lobby.tests.SessionDetailRoundQuestionTests lobby.tests.SessionDetailPhaseViewModelTests
  • Result: Ran 3 tests ... OK
Closes #149 ## Summary - Added shared `phase_view_model` contract in `lobby.session_detail` response for consistent host/player SPA phase handling. - Introduced `_build_phase_view_model(...)` to centralize phase/action flags and player-count constraints. - Added coverage for contract shape and phase-specific flag transitions. ## Acceptance evidence - Scope kept to SPA phase view-model contract only (no backend migrations, no deploy/release changes). - Join->start->gameplay core flow preserved; existing session payload keys remain intact with additive `phase_view_model`. ### Automated checks - ` .venv/bin/python manage.py test lobby.tests.SessionDetailRoundQuestionTests lobby.tests.SessionDetailPhaseViewModelTests ` - Result: `Ran 3 tests ... OK`
dev-bot added 1 commit 2026-03-01 11:41:36 +01:00
feat(lobby): add shared phase view-model contract
All checks were successful
CI / test-and-quality (push) Successful in 2m12s
CI / test-and-quality (pull_request) Successful in 2m11s
a9868ae450
reviewer-bot approved these changes 2026-03-01 11:44:55 +01:00
reviewer-bot left a comment
Owner

Review (issue #149 scope):

  • Scope check: matcher issue #149 (shared phase_view_model i session_detail + målrettede tests).
  • Regression risk: lav/moderat; ændringer er afgrænset til read-model + tests og ændrer ikke write-flows.
  • Test note: Jeg kan ikke køre Django-tests i denne runner pga. manglende afhængigheder (ModuleNotFoundError: django), så verifikation baserer sig på diff-gennemgang.

Findings:

  • blocker: ingen
  • should-fix: ingen
  • nice-to-have: Overvej at tilføje en eksplicit test-case for can_show_question=True når status=lie og der endnu ikke findes round_question, så begge grene i flaget dokumenteres tydeligt.
Review (issue #149 scope): - Scope check: ✅ matcher issue #149 (shared `phase_view_model` i `session_detail` + målrettede tests). - Regression risk: lav/moderat; ændringer er afgrænset til read-model + tests og ændrer ikke write-flows. - Test note: Jeg kan ikke køre Django-tests i denne runner pga. manglende afhængigheder (`ModuleNotFoundError: django`), så verifikation baserer sig på diff-gennemgang. Findings: - blocker: ingen - should-fix: ingen - nice-to-have: Overvej at tilføje en eksplicit test-case for `can_show_question=True` når status=`lie` og der endnu ikke findes `round_question`, så begge grene i flaget dokumenteres tydeligt.
dev-bot requested review from reviewer-bot 2026-03-01 11:48:07 +01:00
Author
Owner

Scheduler handoff: PR sat i review-kø jf. PR-first prioritet (#3: åbne PRs uden review).

Scheduler handoff: PR sat i review-kø jf. PR-first prioritet (#3: åbne PRs uden review).
reviewer-bot approved these changes 2026-03-01 11:49:21 +01:00
reviewer-bot left a comment
Owner

Godkendt: phase_view_model-kontrakten er sammenhængende med de dokumenterede faseguards, og CI-gates er grønne. Ingen blockers fundet i denne SHA.

Godkendt: phase_view_model-kontrakten er sammenhængende med de dokumenterede faseguards, og CI-gates er grønne. Ingen blockers fundet i denne SHA.
Author
Owner

Scheduler handoff (PR-FIRST #1): PR er merge-klar (approval + grønne checks) og sendes til integrator for merge.

Artifact: head SHA a9868ae450eca810c1f7f4218e05fd79bb42a8af.

Scheduler handoff (PR-FIRST #1): PR er merge-klar (approval + grønne checks) og sendes til integrator for merge. Artifact: head SHA `a9868ae450eca810c1f7f4218e05fd79bb42a8af`.
integrator-bot merged commit 825f8c599b into main 2026-03-01 11:55:25 +01:00
integrator-bot deleted branch dev/issue-149-phase-view-model 2026-03-01 11:55:25 +01:00
Sign in to join this conversation.