fix: preserve reveal before scoreboard
All checks were successful
CI / test-and-quality (push) Successful in 2m52s
CI / test-and-quality (pull_request) Successful in 2m52s

This commit is contained in:
2026-03-15 14:24:42 +00:00
parent 076ca4ebbb
commit e8883e803b
4 changed files with 8 additions and 8 deletions

View File

@@ -122,7 +122,7 @@ describe('SPA Angular API contract smoke (host/player foundation)', () => {
if (url === '/lobby/sessions/ABCD12/questions/77/scores/calculate') {
expect(body).toEqual({});
return {
session: { code: 'ABCD12', status: 'scoreboard', current_round: 1 },
session: { code: 'ABCD12', status: 'reveal', current_round: 1 },
round_question: { id: 77, round_number: 1 },
events_created: 2,
reveal: {

View File

@@ -220,13 +220,13 @@ describe('HostShellComponent gameplay wiring', () => {
.mockResolvedValueOnce(jsonResponse(200, sessionDetailPayload('guess', { roundQuestionId: 77 })))
.mockResolvedValueOnce(
jsonResponse(200, {
session: { code: 'ABCD12', status: 'scoreboard', current_round: 1 },
session: { code: 'ABCD12', status: 'reveal', current_round: 1 },
round_question: { id: 77, round_number: 1 },
events_created: 2,
leaderboard: [{ id: 1, nickname: 'Luna', score: 320 }],
})
)
.mockResolvedValueOnce(jsonResponse(200, sessionDetailPayload('scoreboard', { roundQuestionId: 77 })));
.mockResolvedValueOnce(jsonResponse(200, sessionDetailPayload('reveal', { roundQuestionId: 77 })));
vi.stubGlobal('fetch', fetchMock);

View File

@@ -744,7 +744,7 @@ class ScoreCalculationTests(TestCase):
self.player_two = Player.objects.create(session=self.session, nickname="Mads")
self.player_three = Player.objects.create(session=self.session, nickname="Nora")
def test_host_can_calculate_scores_and_transition_to_scoreboard(self):
def test_host_can_calculate_scores_and_transition_to_reveal(self):
LieAnswer.objects.create(round_question=self.round_question, player=self.player_three, text="Padel")
Guess.objects.create(round_question=self.round_question, player=self.player_one, selected_text="Tennis", is_correct=True)
@@ -773,7 +773,7 @@ class ScoreCalculationTests(TestCase):
self.assertEqual(response.status_code, 200)
payload = response.json()
self.assertEqual(payload["session"]["status"], GameSession.Status.SCOREBOARD)
self.assertEqual(payload["session"]["status"], GameSession.Status.REVEAL)
self.assertEqual(payload["events_created"], 2)
self.assertEqual(payload["reveal"]["round_question_id"], self.round_question.id)
self.assertEqual(payload["reveal"]["correct_answer"], "Tennis")
@@ -826,7 +826,7 @@ class ScoreCalculationTests(TestCase):
self.assertEqual(self.player_one.score, 5)
self.assertEqual(self.player_three.score, 4)
self.assertEqual(self.session.status, GameSession.Status.SCOREBOARD)
self.assertEqual(self.session.status, GameSession.Status.REVEAL)
def test_calculate_scores_requires_host(self):
self.client.login(username="other_score", password="secret123")

View File

@@ -1006,7 +1006,7 @@ def calculate_scores(request: HttpRequest, code: str, round_question_id: int) ->
ScoreEvent.objects.bulk_create(score_events)
locked_session.status = GameSession.Status.SCOREBOARD
locked_session.status = GameSession.Status.REVEAL
locked_session.save(update_fields=["status"])
leaderboard = list(
@@ -1034,7 +1034,7 @@ def calculate_scores(request: HttpRequest, code: str, round_question_id: int) ->
{
"session": {
"code": session.code,
"status": GameSession.Status.SCOREBOARD,
"status": GameSession.Status.REVEAL,
"current_round": session.current_round,
},
"round_question": {