Files
shanxia2.0/backend/tests/test_pl_driver_plan_service.py
T
wuzilongandCursor 1303fae1e0 feat(pl): add driver-plan service for personnel-scoped history
Resolve plans by linked driver/escort personnel and reuse public
driver page/feedback helpers for login-state miniprogram APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 11:44:24 +08:00

31 lines
1.1 KiB
Python

# 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