| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- """安排运输:司机可选。"""
- from __future__ import annotations
- from types import SimpleNamespace
- from app.api.pl.transport import _apply_transport_arrange_fields
- from app.schemas.pl.transport import TransportArrange
- def test_transport_arrange_schema_allows_missing_driver():
- payload = TransportArrange.model_validate({"vehicleId": "veh-1"})
- assert payload.vehicle_id == "veh-1"
- assert payload.driver_id is None
- def test_apply_transport_arrange_fields_without_driver():
- transport = SimpleNamespace(
- vehicle_id=None,
- license_plate=None,
- driver_id="old",
- driver_name="旧司机",
- driver_phone="1",
- carrier_id=None,
- carrier_name=None,
- transport_medium=None,
- start_point=None,
- end_point=None,
- distance_km=None,
- unit=None,
- freight_price=None,
- freight_amount=0,
- freight_type="by_weight",
- has_invoice=0,
- remark=None,
- update_by=None,
- )
- payload = TransportArrange.model_validate(
- {"vehicleId": "veh-1", "freightType": "by_weight"}
- )
- _apply_transport_arrange_fields(
- transport,
- payload=payload,
- vehicle_info={"license_plate": "粤A12345", "carrier_id": None},
- driver_info=None,
- escort_info=None,
- carrier_name=None,
- start_point="A",
- end_point="B",
- freight_amount=0,
- user_id="u1",
- )
- assert transport.vehicle_id == "veh-1"
- assert transport.license_plate == "粤A12345"
- assert transport.driver_id is None
- assert transport.driver_name is None
- assert transport.driver_phone is None
|