Files
transcription/tests/ui/test_formatters.py
T
2026-08-23 18:13:38 -05:00

38 lines
1.4 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(
given_names="Albert Edward",
last_name="Higgins",
birth_date=date(1885, 1, 2),
)
assert person_selector_label(person) == "Albert Edward Higgins (1885)"
approximate = Person(
given_names="Albert Edward",
last_name="Higgins",
birth_date_raw="about 1912",
)
assert person_selector_label(approximate) == "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")