now that like token_types stack in UX, _0 removed from 4 test methods that previously looked for specific token's ID
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Disco DeDisco
2026-03-15 16:57:24 -04:00
parent ff7b71792f
commit 12146037f0
6 changed files with 14 additions and 16 deletions

View File

@@ -3,13 +3,8 @@
var dialog = document.getElementById('id_kit_bag_dialog'); var dialog = document.getElementById('id_kit_bag_dialog');
if (!btn || !dialog) return; if (!btn || !dialog) return;
dialog.addEventListener('close', function () {
btn.classList.remove('active');
clearSelection();
});
btn.addEventListener('click', function () { btn.addEventListener('click', function () {
if (btn.classList.contains('active')) { if (dialog.hasAttribute('open')) {
dialog.removeAttribute('open'); dialog.removeAttribute('open');
btn.classList.remove('active'); btn.classList.remove('active');
clearSelection(); clearSelection();
@@ -32,18 +27,22 @@
// Escape key // Escape key
document.addEventListener('keydown', function (e) { document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && dialog.open) { if (e.key === 'Escape' && dialog.hasAttribute('open')) {
dialog.close(); dialog.removeAttribute('open');
btn.classList.remove('active');
clearSelection();
} }
}); });
// Click outside (but not on the rails button — let that flow through) // Click outside (but not on the rails button — let that flow through)
document.addEventListener('click', function (e) { document.addEventListener('click', function (e) {
if (!dialog.open) return; if (!dialog.hasAttribute('open')) return;
if (dialog.contains(e.target)) return; if (dialog.contains(e.target)) return;
if (e.target === btn || btn.contains(e.target)) return; if (e.target === btn || btn.contains(e.target)) return;
if (e.target.closest('button.token-rails')) return; if (e.target.closest('button.token-rails')) return;
dialog.close(); dialog.removeAttribute('open');
btn.classList.remove('active');
clearSelection();
}); });
// Inject token_id before token-rails form submits // Inject token_id before token-rails form submits
@@ -59,7 +58,7 @@
hidden.name = 'token_id'; hidden.name = 'token_id';
hidden.value = window._kitTokenId; hidden.value = window._kitTokenId;
form.appendChild(hidden); form.appendChild(hidden);
if (dialog.open) dialog.close(); if (dialog.hasAttribute('open')) dialog.removeAttribute('open');
}); });
function attachCardListeners() { function attachCardListeners() {

View File

@@ -32,7 +32,7 @@ class WalletViewTest(TestCase):
[_] = self.parsed.cssselect("#id_coin_on_a_string") [_] = self.parsed.cssselect("#id_coin_on_a_string")
def test_wallet_page_shows_free_token(self): def test_wallet_page_shows_free_token(self):
[_] = self.parsed.cssselect("#id_free_token_0") [_] = self.parsed.cssselect("#id_free_token")
def test_wallet_page_shows_payment_methods_section(self): def test_wallet_page_shows_payment_methods_section(self):
[_] = self.parsed.cssselect("#id_add_payment_method") [_] = self.parsed.cssselect("#id_add_payment_method")

View File

@@ -48,7 +48,7 @@ class GameboardViewTest(TestCase):
[_] = self.parsed.cssselect("#id_game_kit #id_kit_coin_on_a_string") [_] = self.parsed.cssselect("#id_game_kit #id_kit_coin_on_a_string")
def test_game_kit_has_free_token(self): def test_game_kit_has_free_token(self):
[_] = self.parsed.cssselect("#id_game_kit #id_kit_free_token_0") [_] = self.parsed.cssselect("#id_game_kit #id_kit_free_token")
def test_game_kit_has_card_deck_placeholder(self): def test_game_kit_has_card_deck_placeholder(self):
[_] = self.parsed.cssselect("#id_game_kit #id_kit_card_deck") [_] = self.parsed.cssselect("#id_game_kit #id_kit_card_deck")

View File

@@ -69,7 +69,7 @@ class GameboardNavigationTest(FunctionalTest):
self.assertIn("Admit 1 Entry", coin_tooltip) self.assertIn("Admit 1 Entry", coin_tooltip)
self.assertIn("and another after that", coin_tooltip) self.assertIn("and another after that", coin_tooltip)
# 7. Assert 1× Free Token (complimentary) present in kit # 7. Assert 1× Free Token (complimentary) present in kit
free_token = self.browser.find_element(By.ID, "id_kit_free_token_0") free_token = self.browser.find_element(By.ID, "id_kit_free_token")
# 8. Hover over it; assert tooltip shows name, entry text & expiry date # 8. Hover over it; assert tooltip shows name, entry text & expiry date
ActionChains(self.browser).move_to_element(free_token).perform() ActionChains(self.browser).move_to_element(free_token).perform()
self.wait_for( self.wait_for(

View File

@@ -62,7 +62,7 @@ class WalletDisplayTest(FunctionalTest):
self.assertIn("Admit 1 Entry", coin_tooltip) self.assertIn("Admit 1 Entry", coin_tooltip)
self.assertIn("no expiry", coin_tooltip) self.assertIn("no expiry", coin_tooltip)
# 10. Assert ×1 Free Token present (complimentary on signup) # 10. Assert ×1 Free Token present (complimentary on signup)
free_token = self.browser.find_element(By.ID, "id_free_token_0") free_token = self.browser.find_element(By.ID, "id_free_token")
# 11. Hover over it; assert tooltip shows name, entry text, expiry date # 11. Hover over it; assert tooltip shows name, entry text, expiry date
ActionChains(self.browser).move_to_element(free_token).perform() ActionChains(self.browser).move_to_element(free_token).perform()
self.wait_for( self.wait_for(

View File

@@ -15,7 +15,6 @@
background-color: rgba(var(--priUser), 1); background-color: rgba(var(--priUser), 1);
border: 0.15rem solid rgba(var(--secUser), 1); border: 0.15rem solid rgba(var(--secUser), 1);
&:hover,
&.active { &.active {
color: rgba(var(--quaUser), 1); color: rgba(var(--quaUser), 1);
border-color: rgba(var(--quaUser), 1); border-color: rgba(var(--quaUser), 1);