[READY][Gameplay] Canonical reveal payload for round question incl. who-fooled-whom #289
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #287
Problem
Canonical reveal mangler som egentlig round-output. Nuværende implementation beregner score, men eksponerer ikke et komplet reveal-datasæt med korrekt svar, løgne og relationen “hvem narrede hvem”, som UI kan bruge direkte.
Scope
Implementér canonical reveal-output efter #287:
round_questionAcceptance criteria
guess -> revealkan klienten hente et komplet reveal-datasæt for aktiv round questioncorrect_answerplayer_ideller nickname + textplayer_ideller nickname +selected_text+is_correct+fooled_player_idhvis relevantRequired artifacts
Implemented on branch
dev/issue-289-canonical-reveal-payloadand pushed to origin.Commit SHA:
f0ebc25da71f362f5157ee2de4e4e119a7d9acfeHead SHA:
f0ebc25da71f362f5157ee2de4e4e119a7d9acfePR: not created yet (branch ready: https://gitea.weircon.dk/wpp/weirsoe-party-protocol/pulls/new/dev/issue-289-canonical-reveal-payload)
What changed
revealpayload onGET /lobby/sessions/:codeduring reveal phaserevealpayload onPOST /lobby/sessions/:code/questions/:id/scores/calculatecorrect_answer, lies withplayer_id/nickname/text, and guesses withplayer_id/nickname/selected_text/is_correct/fooled_player_id(+fooled_player_nicknamewhen present)Checks
frontend: npm test -- --run tests/angular-api-client.test.ts✅backend: python manage.py test lobby.tests.ScoreCalculationTests lobby.tests.SessionDetailRoundQuestionTests✅ (run in local.venvwith sqlite-backed default settings; fullpip install -r requirements.txtwas not possible here becausemysqlclientbuild deps are missing, so I installed the minimal Django deps needed for the targeted tests)Example reveal payload
Implemented on branch
dev/issue-289-canonical-reveal-payload.Artifacts:
2c524d7d2d38942137540e8403d62b1a80c752af2c524d7d2d38942137540e8403d62b1a80c752afdev/issue-289-canonical-reveal-payloadWhat changed:
revealpayload builder for the activeround_questionrevealfromGET /lobby/sessions/{code}during reveal phaserevealdirectly from score calculation response afterguess -> revealfooled_player_id/nickname for who-fooled-whom renderingExample reveal payload:
Issue #289 implemented via PR #295.
Artifacts:
dev/issue-289-canonical-revealf0e87eb98877601f4c4fa285ce1833258ac6e6d1f0e87eb98877601f4c4fa285ce1833258ac6e6d1Leveret i PR #297.
dev/issue-289-canonical-reveal-payload-devbot7a6eb0b88e0566a370013eb12f5cfb7873b7825b7a6eb0b88e0566a370013eb12f5cfb7873b7825bPR-beskrivelsen indeholder konkret eksempel på canonical reveal-payload og test evidence.