diff --git a/src/apps/gameboard/tests/integrated/test_views.py b/src/apps/gameboard/tests/integrated/test_views.py index a27ae5d..d7f94f3 100644 --- a/src/apps/gameboard/tests/integrated/test_views.py +++ b/src/apps/gameboard/tests/integrated/test_views.py @@ -1002,6 +1002,41 @@ class MySeaViewTest(TestCase): self.assertIn("page-gameboard", response.content.decode()) self.assertIn("page-my-sea", response.content.decode()) + def test_my_sea_renders_bud_btn_and_burger_in_sign_gate_phase(self): + """Bud + burger persist on every my_sea.html state — sign-gate is + the first phase (no significator yet, the page body is just the + Brief banner). Both btns sit alongside the always-on gear-btn.""" + response = self.client.get(reverse("my_sea")) + body = response.content.decode() + self.assertIn('id="id_bud_btn"', body) + self.assertIn('id="id_burger_btn"', body) + self.assertIn("burger-btn.js", body) + + def test_my_sea_renders_bud_btn_and_burger_in_landing_phase(self): + from apps.epic.models import personal_sig_cards + sig = personal_sig_cards(self.user)[0] + self.user.significator = sig + self.user.save(update_fields=["significator"]) + response = self.client.get(reverse("my_sea")) + body = response.content.decode() + self.assertIn('id="id_bud_btn"', body) + self.assertIn('id="id_burger_btn"', body) + + def test_my_sea_renders_bud_btn_and_burger_in_picker_phase(self): + from apps.epic.models import personal_sig_cards + from apps.gameboard.models import MySeaDraw + sig = personal_sig_cards(self.user)[0] + self.user.significator = sig + self.user.save(update_fields=["significator"]) + MySeaDraw.objects.create( + user=self.user, spread="situation-action-outcome", + significator_id=sig.id, hand=[], + ) + response = self.client.get(reverse("my_sea") + "?phase=picker") + body = response.content.decode() + self.assertIn('id="id_bud_btn"', body) + self.assertIn('id="id_burger_btn"', body) + def test_sea_stage_stat_block_renders_rank_suit_chip_per_face(self): """Sprint A.7.5 — `_sea_stage.html` modal scaffold (included from my_sea-picker-phase + the gameroom sea overlay) carries the new diff --git a/src/templates/apps/gameboard/my_sea.html b/src/templates/apps/gameboard/my_sea.html index 5183385..0329402 100644 --- a/src/templates/apps/gameboard/my_sea.html +++ b/src/templates/apps/gameboard/my_sea.html @@ -1065,5 +1065,11 @@ {# (sign-gate / landing / picker). NVM-only menu mirrors the #} {# gatekeeper's gear; "back out to /gameboard/" affordance. #} {% include "apps/gameboard/_partials/_my_sea_gear.html" %} + {# Bud + burger persist across every stage too — same affordance #} + {# as on the my-sea gatekeeper, so the user can invite + reach #} + {# the cross-cutting menu from sign-gate / landing / picker alike.#} + {% include "apps/gameboard/_partials/_my_sea_bud_panel.html" %} + {% include "apps/gameboard/_partials/_burger.html" %} + {% endblock content %}