# backend/tests/test_pl_driver_plan_service.py from datetime import date, datetime from app.api.pl.public_transport import _history_matches_date from app.services.pl_driver_plan_service import transport_visible_to_personnel def test_history_date_or_logic(): day = date(2026, 9, 13) assert _history_matches_date(datetime(2026, 9, 13, 9, 0), None, day) is True assert _history_matches_date(None, datetime(2026, 9, 13, 18, 0), day) is True assert ( _history_matches_date( datetime(2026, 9, 12, 9, 0), datetime(2026, 9, 14, 18, 0), day ) is False ) def test_visible_as_driver_or_escort(): class T: def __init__(self, driver_id=None, escort_id=None): self.driver_id = driver_id self.escort_id = escort_id assert transport_visible_to_personnel(T(driver_id="p1"), "p1") is True assert transport_visible_to_personnel(T(escort_id="p1"), "p1") is True assert transport_visible_to_personnel(T(driver_id="p2", escort_id="p3"), "p1") is False assert transport_visible_to_personnel(T(), "p1") is False assert transport_visible_to_personnel(T(driver_id="p1"), "") is False