diff --git a/src/functional_tests/test_trinket_carte_blanche.py b/src/functional_tests/test_trinket_carte_blanche.py index 1a00a88..c83012e 100644 --- a/src/functional_tests/test_trinket_carte_blanche.py +++ b/src/functional_tests/test_trinket_carte_blanche.py @@ -41,10 +41,9 @@ class CarteBlancheTest(FunctionalTest): f'#id_kit_bag_dialog [data-token-type="{Token.PASS}"]', ) ) - # 3. Navigate to gameboard - self.browser.find_element( - By.CSS_SELECTOR, '#id_footer_nav a[href="/gameboard/"]' - ).click() + # 3. Navigate to gameboard (use get() — kit bag dialog still open and + # would intercept a click on the footer nav link in headless Firefox) + self.browser.get(self.live_server_url + "/gameboard/") self.wait_for( lambda: self.assertRegex(self.browser.current_url, r"/gameboard/$") ) @@ -86,16 +85,26 @@ class CarteBlancheTest(FunctionalTest): self.browser.get(self.live_server_url + "/gameboard/") self.wait_for(lambda: self.browser.find_element(By.ID, "id_game_kit")) - # 2. Hover over Coin-on-a-String, Free Token — no mini tooltip (not equippable) - for token_id in ("id_kit_coin_on_a_string", "id_kit_free_token"): - el = self.browser.find_element(By.ID, token_id) - ActionChains(self.browser).move_to_element(el).perform() - self.wait_for( - lambda: self.browser.find_element(By.ID, "id_tooltip_portal").is_displayed() - ) - self.assertFalse( + # 2. Hover over Free Token — no mini tooltip (not a trinket, no data-token-id) + el = self.browser.find_element(By.ID, "id_kit_free_token") + ActionChains(self.browser).move_to_element(el).perform() + self.wait_for( + lambda: self.browser.find_element(By.ID, "id_tooltip_portal").is_displayed() + ) + self.assertFalse( + self.browser.find_element(By.ID, "id_mini_tooltip_portal").is_displayed() + ) + # Coin-on-a-String IS equippable (has data-token-id) — mini tooltip shows + coin_el = self.browser.find_element(By.ID, "id_kit_coin_on_a_string") + ActionChains(self.browser).move_to_element(coin_el).perform() + self.wait_for( + lambda: self.browser.find_element(By.ID, "id_tooltip_portal").is_displayed() + ) + self.wait_for( + lambda: self.assertTrue( self.browser.find_element(By.ID, "id_mini_tooltip_portal").is_displayed() ) + ) # 3. Hover Carte Blanche — main tooltip present; mini tooltip shows "Equip Trinket?" carte_el = self.browser.find_element(By.ID, "id_kit_carte_blanche") diff --git a/src/templates/apps/gameboard/_partials/_room_gear.html b/src/templates/apps/gameboard/_partials/_room_gear.html index 4307663..80e6901 100644 --- a/src/templates/apps/gameboard/_partials/_room_gear.html +++ b/src/templates/apps/gameboard/_partials/_room_gear.html @@ -1,5 +1,5 @@