diff --git a/src/apps/gameboard/tests/integrated/test_views.py b/src/apps/gameboard/tests/integrated/test_views.py index 5ce9a9b..b4f795e 100644 --- a/src/apps/gameboard/tests/integrated/test_views.py +++ b/src/apps/gameboard/tests/integrated/test_views.py @@ -40,13 +40,38 @@ class GameboardViewTest(TestCase): # flow lands in later sprints. Seeded via migration 0008. [_] = self.parsed.cssselect("#id_applet_my_sea") - def test_my_sea_applet_renders_empty_state_for_new_user(self): - # A fresh user has no saved draws → the scroll container hosts a - # single placeholder line ("No draws yet."), no card cells. - [empty] = self.parsed.cssselect("#id_applet_my_sea .my-sea-empty") + def test_my_sea_applet_renders_sign_gate_for_user_without_sig(self): + # Sprint 4b — user with no significator sees the Look!-formatted + # gate (mirror of the standalone page), not the draw UX. + [_gate] = self.parsed.cssselect( + "#id_applet_my_sea .my-sea-sign-gate--applet" + ) + # Draw-state nodes are suppressed while the gate is up. + self.assertEqual( + len(self.parsed.cssselect("#id_applet_my_sea .my-sea-empty")), 0, + ) + self.assertEqual( + len(self.parsed.cssselect("#id_applet_my_sea .my-sea-card")), 0, + ) + + def test_my_sea_applet_renders_empty_state_for_user_with_sig_no_draws(self): + # Sig set + no saved draws → the scroll container hosts a single + # placeholder line ("No draws yet."), no card cells, no gate. + from apps.epic.models import personal_sig_cards + sig_pile = personal_sig_cards(self.user) + self.user.significator = sig_pile[0] + self.user.save() + response = self.client.get("/gameboard/") + parsed = lxml.html.fromstring(response.content) + [empty] = parsed.cssselect("#id_applet_my_sea .my-sea-empty") self.assertIn("No draws yet", empty.text_content()) - cards = self.parsed.cssselect("#id_applet_my_sea .my-sea-card") - self.assertEqual(len(cards), 0) + self.assertEqual( + len(parsed.cssselect("#id_applet_my_sea .my-sea-card")), 0, + ) + self.assertEqual( + len(parsed.cssselect("#id_applet_my_sea .my-sea-sign-gate--applet")), + 0, + ) def test_my_sea_applet_header_links_to_my_sea_page(self): [link] = self.parsed.cssselect("#id_applet_my_sea h2 a")