Files
transcription/tests/ui/test_formatters.py
T
Jim Lancaster cf49c3c127
Quality Gate / gate (push) Failing after 11s
V4.10
2026-08-22 10:19:30 -05:00

42 lines
1.5 KiB
Python

from datetime import date
from transcription.db.models import Person
from transcription.ui.components.formatters import compact_date
from transcription.ui.components.formatters import family_search_url
from transcription.ui.components.formatters import google_maps_search_url
from transcription.ui.components.formatters import person_selector_label
def test_compact_date_prefers_exact_then_approximate_then_unknown():
assert compact_date(date(1924, 3, 2), "about 1924") == "1924-03-02"
assert compact_date(None, "about 1924") == "about 1924"
assert compact_date(None, " ") == "Unknown"
def test_person_selector_label_disambiguates_without_changing_identity():
person = Person(
full_name="Albert Edward Higgins",
display_name="Hig",
birth_date=date(1885, 1, 2),
)
assert person_selector_label(person) == "Hig - Albert Edward Higgins (1885)"
approximate = Person(
full_name="Albert Edward Higgins",
display_name="Hig",
birth_date_raw="about 1912",
)
assert person_selector_label(approximate) == "Hig - Albert Edward Higgins (1912)"
def test_family_search_url_uses_fixed_person_details_route():
assert family_search_url("G8T4-MDQ") == (
"https://www.familysearch.org/tree/person/details/G8T4-MDQ"
)
def test_google_maps_search_url_encodes_place_query():
assert google_maps_search_url("New York, NY") == (
"https://www.google.com/maps/search/?api=1&query=New+York%2C+NY"
)