Files
shanxia2.0/backend/tests/test_pl_plan_resolve_driver.py
2026-08-06 09:58:20 +08:00

30 lines
1013 B
Python

"""运输计划解析司机:车辆未关联司机时允许为空。"""
from __future__ import annotations
from unittest.mock import MagicMock
from app.services.pl_plan_service import _resolve_driver
def test_resolve_driver_without_vehicle_link_returns_none():
"""未显式选司机、车辆也无关联司机时,应返回空三元组而非 400。"""
db = MagicMock()
db.query.return_value.filter.return_value.order_by.return_value.first.return_value = None
result = _resolve_driver(db, "tenant-1", "vehicle-1", None)
assert result == (None, None, None)
def test_resolve_driver_with_explicit_id_returns_personnel():
db = MagicMock()
personnel = MagicMock()
personnel.id = "driver-1"
personnel.personnel_name = "张三"
personnel.phone_no = "13800000000"
db.query.return_value.filter.return_value.first.return_value = personnel
result = _resolve_driver(db, "tenant-1", "vehicle-1", "driver-1")
assert result == ("driver-1", "张三", "13800000000")