fixed open #id_tray obscuring role select FTs
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Disco DeDisco
2026-03-29 23:46:23 -04:00
parent fb782cf5ef
commit 299a806862
2 changed files with 20 additions and 18 deletions

View File

@@ -772,35 +772,32 @@ class RoleSelectChannelsTest(ChannelsFunctionalTest):
By.CSS_SELECTOR, ".card-stack[data-state='eligible']"
))
# Select a role — tray opens and card lands in topmost square.
# Select a role — card lands in topmost grid square.
self.browser.find_element(By.CSS_SELECTOR, ".card-stack").click()
self.wait_for(lambda: self.browser.find_element(By.ID, "id_role_select"))
self.browser.find_element(By.CSS_SELECTOR, "#id_role_select .card").click()
self.confirm_guard()
self.wait_for(lambda: self.assertTrue(
self.browser.execute_script("return Tray.isOpen()")
))
is_first = self.browser.execute_script("""
# Wait for fetch .then() — card must be first child of grid.
self.wait_for(lambda: self.assertTrue(self.browser.execute_script("""
var card = document.querySelector('#id_tray_grid .tray-role-card');
return card !== null && card === card.parentElement.firstElementChild;
""")
self.assertTrue(is_first, "Role card should be first child (topmost) of grid")
""")))
# Turn advances via WS — seat 2 becomes active.
self.wait_for(lambda: self.browser.find_element(
By.CSS_SELECTOR, ".table-seat.active[data-slot='2']"
))
# Tray must be closed after turn_changed.
# Tray must be closed: forceClose() fires in handleTurnChanged.
self.assertFalse(
self.browser.execute_script("return Tray.isOpen()"),
"Tray should be closed after turn advances"
)
def test_landscape_tray_closes_on_turn_advance(self):
"""Landscape: same sequence — role card at leftmost grid square; tray
closes when turn_changed arrives."""
"""Landscape: role card at leftmost grid square; tray closes when
turn_changed arrives via WS."""
self.browser.set_window_size(844, 390)
room_url = self._make_turn_test_room()
self.create_pre_authenticated_session("founder@test.io")
@@ -814,21 +811,18 @@ class RoleSelectChannelsTest(ChannelsFunctionalTest):
self.browser.find_element(By.CSS_SELECTOR, "#id_role_select .card").click()
self.confirm_guard()
self.wait_for(lambda: self.assertTrue(
self.browser.execute_script("return Tray.isOpen()")
))
is_first = self.browser.execute_script("""
# Wait for fetch .then() — card must be first child of grid.
self.wait_for(lambda: self.assertTrue(self.browser.execute_script("""
var card = document.querySelector('#id_tray_grid .tray-role-card');
return card !== null && card === card.parentElement.firstElementChild;
""")
self.assertTrue(is_first, "Role card should be first child (leftmost) of grid")
""")))
# Turn advances via WS — seat 2 becomes active.
self.wait_for(lambda: self.browser.find_element(
By.CSS_SELECTOR, ".table-seat.active[data-slot='2']"
))
# Tray must be closed after turn_changed.
# Tray must be closed.
self.assertFalse(
self.browser.execute_script("return Tray.isOpen()"),
"Tray should be closed after turn advances"