diff --git a/lobby/tests.py b/lobby/tests.py index ac39ab1..940a15e 100644 --- a/lobby/tests.py +++ b/lobby/tests.py @@ -1612,11 +1612,13 @@ class RevealRoundFlowTests(TestCase): self.client.login(username="host_reveal", password="secret123") self.client.get(reverse("lobby:reveal_scoreboard", kwargs={"code": self.session.code})) + stale_shown_at = timezone.now() - timedelta(minutes=10) stale_round_question = RoundQuestion.objects.create( session=self.session, round_number=2, question=self.next_question, correct_answer=self.next_question.correct_answer, + shown_at=stale_shown_at, mixed_answers=["Stale truth", "Stale lie"], ) LieAnswer.objects.create(round_question=stale_round_question, player=self.player_one, text="Stale lie") @@ -1634,10 +1636,17 @@ class RevealRoundFlowTests(TestCase): stale_round_question.refresh_from_db() self.assertEqual(self.session.status, GameSession.Status.LIE) self.assertEqual(self.session.current_round, 2) - self.assertEqual(response.json()["round_question"]["id"], stale_round_question.id) + response_payload = response.json() + self.assertEqual(response_payload["round_question"]["id"], stale_round_question.id) self.assertEqual(stale_round_question.mixed_answers, []) self.assertEqual(stale_round_question.lies.count(), 0) self.assertEqual(stale_round_question.guesses.count(), 0) + self.assertNotEqual(stale_round_question.shown_at, stale_shown_at) + self.assertGreater(stale_round_question.shown_at, stale_shown_at) + self.assertEqual(response_payload["round_question"]["shown_at"], stale_round_question.shown_at.isoformat()) + expected_deadline = stale_round_question.shown_at + timedelta(seconds=self.round_config.lie_seconds) + self.assertEqual(response_payload["round_question"]["lie_deadline_at"], expected_deadline.isoformat()) + self.assertGreater(expected_deadline, timezone.now()) detail_payload = self.client.get(reverse("lobby:session_detail", kwargs={"code": self.session.code})).json() self.assertEqual(detail_payload["session"]["status"], GameSession.Status.LIE)