2026-03-08 15:14:41 -04:00
|
|
|
from django.test import SimpleTestCase
|
|
|
|
|
from unittest.mock import MagicMock
|
|
|
|
|
|
|
|
|
|
from apps.lyric.models import Token
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CoinTooltipTest(SimpleTestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.coin = Token ()
|
|
|
|
|
self.coin.token_type = Token.COIN
|
|
|
|
|
self.coin.expires_at = None
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_name(self):
|
|
|
|
|
self.assertIn("Coin-on-a-String", self.coin.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_entry(self):
|
|
|
|
|
self.assertIn("Admit 1 Entry", self.coin.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_reuse_description(self):
|
|
|
|
|
self.assertIn("and another after that", self.coin.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_no_expiry(self):
|
|
|
|
|
self.assertIn("no expiry", self.coin.tooltip_text())
|
|
|
|
|
|
|
|
|
|
class FreeTokenTooltipTest(SimpleTestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.token = Token()
|
|
|
|
|
self.token.token_type = Token.FREE
|
|
|
|
|
self.token.expires_at = MagicMock()
|
|
|
|
|
self.token.expires_at.strftime = lambda fmt: "2026-03-15"
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_name(self):
|
|
|
|
|
self.assertIn("Free Token", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_entry(self):
|
|
|
|
|
self.assertIn("Admit 1 Entry", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_expires(self):
|
|
|
|
|
self.assertIn("Expires", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_expiry_date(self):
|
|
|
|
|
self.assertIn("2026-03-15", self.token.tooltip_text())
|
|
|
|
|
|
2026-03-14 22:00:16 -04:00
|
|
|
|
|
|
|
|
class PassTokenTooltipTest(SimpleTestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.token = Token()
|
|
|
|
|
self.token.token_type = Token.PASS
|
|
|
|
|
self.token.expires_at = None
|
|
|
|
|
self.token.next_ready_at = None
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_name(self):
|
|
|
|
|
self.assertIn("Backstage Pass", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_no_expiry(self):
|
|
|
|
|
self.assertIn("no expiry", self.token.tooltip_text())
|
|
|
|
|
|
2026-03-16 00:07:52 -04:00
|
|
|
|
|
|
|
|
class CarteTooltipTest(SimpleTestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.token = Token()
|
|
|
|
|
self.token.token_type = Token.CARTE
|
|
|
|
|
self.token.expires_at = None
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_name(self):
|
|
|
|
|
self.assertIn("Carte Blanche", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_entry(self):
|
|
|
|
|
self.assertIn("Admit up to +6", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_shoptalk(self):
|
|
|
|
|
self.assertIn("taking over from here", self.token.tooltip_text())
|
|
|
|
|
|
|
|
|
|
def test_tooltip_contains_no_expiry(self):
|
|
|
|
|
self.assertIn("no expiry", self.token.tooltip_text())
|