Files
shanxia2.0/backend/tests/test_pl_public_transport_history.py
T
2026-08-21 11:18:34 +08:00

38 lines
1.3 KiB
Python

from datetime import date, datetime
from app.api.pl.public_transport import (
_history_matches_date,
_normalize_main_plate,
_parse_history_date,
_history_status_label,
)
def test_normalize_main_plate_trims():
assert _normalize_main_plate(" 苏AD12345 ") == "苏AD12345"
assert _normalize_main_plate(None) == ""
assert _normalize_main_plate("") == ""
def test_parse_history_date_ok_and_bad():
assert _parse_history_date("2026-08-21") == date(2026, 8, 21)
assert _parse_history_date("2026/08/21") is None
assert _parse_history_date("") is None
def test_history_matches_date_or_logic():
day = date(2026, 8, 21)
assert _history_matches_date(datetime(2026, 8, 21, 9, 0), None, day) is True
assert _history_matches_date(None, datetime(2026, 8, 21, 18, 0), day) is True
assert _history_matches_date(
datetime(2026, 8, 20, 9, 0), datetime(2026, 8, 22, 18, 0), day
) is False
assert _history_matches_date(None, None, day) is False
def test_history_status_label():
assert _history_status_label(True, False) == "已作废"
assert _history_status_label(True, True) == "已作废"
assert _history_status_label(False, True) == "已归档"
assert _history_status_label(False, False) == "进行中"