test_pl_driver_plan_service.py 1.1 KB

123456789101112131415161718192021222324252627282930
  1. # backend/tests/test_pl_driver_plan_service.py
  2. from datetime import date, datetime
  3. from app.api.pl.public_transport import _history_matches_date
  4. from app.services.pl_driver_plan_service import transport_visible_to_personnel
  5. def test_history_date_or_logic():
  6. day = date(2026, 9, 13)
  7. assert _history_matches_date(datetime(2026, 9, 13, 9, 0), None, day) is True
  8. assert _history_matches_date(None, datetime(2026, 9, 13, 18, 0), day) is True
  9. assert (
  10. _history_matches_date(
  11. datetime(2026, 9, 12, 9, 0), datetime(2026, 9, 14, 18, 0), day
  12. )
  13. is False
  14. )
  15. def test_visible_as_driver_or_escort():
  16. class T:
  17. def __init__(self, driver_id=None, escort_id=None):
  18. self.driver_id = driver_id
  19. self.escort_id = escort_id
  20. assert transport_visible_to_personnel(T(driver_id="p1"), "p1") is True
  21. assert transport_visible_to_personnel(T(escort_id="p1"), "p1") is True
  22. assert transport_visible_to_personnel(T(driver_id="p2", escort_id="p3"), "p1") is False
  23. assert transport_visible_to_personnel(T(), "p1") is False
  24. assert transport_visible_to_personnel(T(driver_id="p1"), "") is False