fixed modal UX issue; now persists as intended, until token cost met in all six slots

This commit is contained in:
Disco DeDisco
2026-03-14 00:34:07 -04:00
parent af3523c9bb
commit d780115515
6 changed files with 74 additions and 46 deletions

View File

@@ -1,3 +1,5 @@
import time
from selenium.webdriver.common.by import By
from .base import FunctionalTest
@@ -195,6 +197,23 @@ class GatekeeperTest(FunctionalTest):
))
self.assertFalse(Room.objects.filter(name="Doomed Room").exists())
def test_gatekeeper_overlay_persists_after_htmx_poll(self):
# 1. Create room directly (GATHERING) and navigate to its gate URL
self.create_pre_authenticated_session("founder@test.io")
founder = User.objects.get(email="founder@test.io")
room = Room.objects.create(name="Persistent Room", owner=founder)
self.browser.get(self.live_server_url + f"/gameboard/room/{room.id}/gate/")
# 2. Assert overlay visible on initial page load
self.wait_for(
lambda: self.browser.find_element(By.CSS_SELECTOR, ".gate-overlay")
)
# 3. Wait for HTMX poll cycle to fire (poll interval is 3s)
time.sleep(4)
# 4. Assert overlay still present and visible after poll
overlays = self.browser.find_elements(By.CSS_SELECTOR, ".gate-overlay")
self.assertEqual(len(overlays), 1)
self.assertTrue(overlays[0].is_displayed())
def test_gamer_can_abandon_room_via_gear_menu(self):
founder = User.objects.create(email="founder@test.io")
room = Room.objects.create(name="Dragon's Den", owner=founder)