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>
31 lines
1.1 KiB
Python
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
|