Code architected by Disco DeDisco <discodedisco@outlook.com> Git commit message Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
from django.test import SimpleTestCase
|
|
|
|
from apps.drama.models import Note
|
|
|
|
|
|
def _note(slug):
|
|
n = Note()
|
|
n.slug = slug
|
|
return n
|
|
|
|
|
|
class NoteDisplayBaltimoreanTest(SimpleTestCase):
|
|
"""`_NOTE_DISPLAY['baltimorean']` — greeting/title combo "Ayo, Ard!" replaces
|
|
"Welcome, Earthman" once the user dons the Baltimorean Note (unlocked by
|
|
first-time `pronouns = bawlmorese` selection)."""
|
|
|
|
def test_baltimorean_display_title_is_ard(self):
|
|
self.assertEqual(_note("baltimorean").display_title, "Ard!")
|
|
|
|
def test_baltimorean_display_greeting_is_ayo(self):
|
|
self.assertEqual(_note("baltimorean").display_greeting, "Ayo,")
|
|
|
|
def test_baltimorean_display_name_is_baltimorean(self):
|
|
"""The my-notes heading label — `.title()` of the slug recovers the
|
|
proper rendering for any slug without a `name` override in
|
|
`_NOTE_DISPLAY`. Baltimorean has no override, so this should fall
|
|
through to `slug.title()` → 'Baltimorean'."""
|
|
self.assertEqual(_note("baltimorean").display_name, "Baltimorean")
|
|
|
|
def test_baltimorean_card_title_is_baltimorean(self):
|
|
"""The my-notes card's "Title:" row uses `card_title`, which Baltimorean
|
|
explicitly overrides to "Baltimorean" so the navbar-only "Ard!" flair
|
|
doesn't leak onto the card."""
|
|
self.assertEqual(_note("baltimorean").card_title, "Baltimorean")
|
|
|
|
|
|
class NoteDisplayStargazerTest(SimpleTestCase):
|
|
"""Smoke tests for the existing stargazer entry — pins the contract that
|
|
new entries follow."""
|
|
|
|
def test_stargazer_display_title_is_stargazer(self):
|
|
self.assertEqual(_note("stargazer").display_title, "Stargazer")
|
|
|
|
def test_stargazer_display_greeting_is_welcome(self):
|
|
self.assertEqual(_note("stargazer").display_greeting, "Welcome,")
|
|
|
|
def test_stargazer_card_title_falls_back_to_display_title(self):
|
|
"""Slugs without a `card_title` override fall through to display_title —
|
|
for stargazer that's "Stargazer" (don-able title == Note name)."""
|
|
self.assertEqual(_note("stargazer").card_title, "Stargazer")
|