plugged some test coverage lacunae, incl. tests for release_slot for the Carte Blanche; select_role for ROLE_CHOICES & ROLE_SELECT; equip_trinket non-POST paths; & tooltip_shoptalk for the Tithe Token
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Disco DeDisco
2026-03-19 00:00:00 -04:00
parent 8c2a5d24ec
commit 5a811d0079
3 changed files with 68 additions and 1 deletions

View File

@@ -608,6 +608,26 @@ class SelectRoleViewTest(TestCase):
)
self.assertEqual(response.status_code, 409)
def test_select_role_redirects_when_not_role_select_phase(self):
self.room.table_status = None
self.room.save()
response = self.client.post(
reverse("epic:select_role", kwargs={"room_id": self.room.id}),
data={"role": "PC"},
)
self.assertRedirects(
response, reverse("epic:gatekeeper", args=[self.room.id])
)
def test_select_role_redirects_for_invalid_role_code(self):
response = self.client.post(
reverse("epic:select_role", kwargs={"room_id": self.room.id}),
data={"role": "BOGUS"},
)
self.assertRedirects(
response, reverse("epic:gatekeeper", args=[self.room.id])
)
class RevealPhaseRenderingTest(TestCase):
def setUp(self):
@@ -699,3 +719,26 @@ class RoomActionsViewTest(TestCase):
reverse("epic:abandon_room", kwargs={"room_id": self.room.id})
)
self.assertRedirects(response, "/gameboard/")
class ReleaseSlotViewTest(TestCase):
def setUp(self):
self.gamer = User.objects.create(email="gamer@test.io")
self.client.force_login(self.gamer)
owner = User.objects.create(email="owner@test.io")
self.room = Room.objects.create(name="Test Room", owner=owner)
self.slot = self.room.gate_slots.get(slot_number=1)
self.slot.gamer = self.gamer
self.slot.status = GateSlot.FILLED
self.slot.debited_token_type = Token.CARTE
self.slot.save()
def test_release_slot_downgrades_open_room_to_gathering(self):
self.room.gate_status = Room.OPEN
self.room.save()
self.client.post(
reverse("epic:release_slot", kwargs={"room_id": self.room.id}),
data={"slot_number": self.slot.slot_number},
)
self.room.refresh_from_db()
self.assertEqual(self.room.gate_status, Room.GATHERING)