fix CI FT regressions: deck contribution, ROLE SELECT no-deck guard, sig qualifiers, Carte Blanche multi-slot
- test_deck_contribution: get_or_create _equip_earthman + unlocked_decks.add; slot_number=2 on
_setup_in_use_deck seat; navigate to /gameboard/ (not gate — game-kit panel absent there);
drop #id_kit_card_deck click ({% empty %} placeholder; deck renders in loop when present);
use textContent for CSS-hidden tooltip; drop stale .deck-micro-status assertion (now mini-portal)
- ROLE SELECT FTs (RoleSelectTest + RoleSelectTrayTest): equip Earthman deck for active-slot
user in each test that opens the fan — fixes no-deck JS guard blocking #id_role_select
- test_room_sig_select: seed The Nomad/Schizo w. correct Earthman slugs/names + Enlightened/
Engraven qualifiers; grant super-nomad + super-schizo Notes to all gamers so Major Arcana
appear in overlay; seed Middle Arcana w. Elevated/Graven qualifiers; rename test methods
- test_game_kit: drop stale assertIn("active", text) — availability moved to In-Use mini-portal
- Carte Blanche: CB stays equipped after multi-slot deposit (revert drop_token unequip);
select_role existing-seat query gains order_by("slot_number") for deterministic primary seat;
multi-slot FT: kit bag shows placeholder after first deposit (CB unequipped); cold-feet
verifies DON via hover→portal; re-equip via portal DON before re-deposit; new
test_carte_in_use_game_kit_shows_room_attribution checks Game Kit tooltip after deposit
Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -180,6 +180,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
|
||||
def test_active_gamer_fans_cards_and_selects_role(self):
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="Fan Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "amigo@test.io", "bud@test.io",
|
||||
@@ -240,6 +241,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
from apps.epic.models import TableSeat
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
friend, _ = User.objects.get_or_create(email="friend@test.io")
|
||||
_equip_earthman_deck(friend) # friend is the active gamer (slot 2)
|
||||
room = Room.objects.create(name="Pool Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "friend@test.io",
|
||||
@@ -294,6 +296,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
for their earlier slot."""
|
||||
from apps.epic.models import TableSeat
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder) # active slot is slot 2 (also founder)
|
||||
room = Room.objects.create(name="Re-entry Test", owner=founder)
|
||||
# Founder holds slots 1 and 2; others fill the rest
|
||||
_fill_room_via_orm(room, [
|
||||
@@ -333,6 +336,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
|
||||
def test_click_away_dismisses_card_fan_without_selecting(self):
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="Dismiss Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "amigo@test.io", "bud@test.io",
|
||||
@@ -375,6 +379,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
event could arrive. This test runs without a Channels server so
|
||||
no WS event will fire; the fix must be entirely client-side."""
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="Lockout Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "amigo@test.io", "bud@test.io",
|
||||
@@ -414,6 +419,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
"""Clicking the card stack immediately after picking a role must
|
||||
not open a second fan — the listener must have been removed."""
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="No-reopen Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "amigo@test.io", "bud@test.io",
|
||||
@@ -527,6 +533,7 @@ class RoleSelectTest(FunctionalTest):
|
||||
"""After confirming a role pick the corresponding hex seat should
|
||||
show .fa-circle-check and lose .fa-ban."""
|
||||
founder, _ = User.objects.get_or_create(email="founder@test.io")
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="Seat Check Test", owner=founder)
|
||||
_fill_room_via_orm(room, [
|
||||
"founder@test.io", "amigo@test.io", "bud@test.io",
|
||||
@@ -600,6 +607,7 @@ class RoleSelectTrayTest(FunctionalTest):
|
||||
def _make_room(self):
|
||||
"""Room in ROLE_SELECT with all 6 seats created, slot 1 eligible."""
|
||||
founder, _ = User.objects.get_or_create(email=self.EMAILS[0])
|
||||
_equip_earthman_deck(founder)
|
||||
room = Room.objects.create(name="Tray Card Test", owner=founder)
|
||||
_fill_room_via_orm(room, self.EMAILS)
|
||||
room.table_status = Room.ROLE_SELECT
|
||||
|
||||
Reference in New Issue
Block a user