fix(pl): 三方车辆与人员保存跳过必备证书校验

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-25 10:45:26 +08:00
1 parent db4907ec28
commit b071687a71
3 files changed
+79 -3

No files matched your search

@@ -0,0 +1,67 @@
"""三方不强制证书;山峡仍强制。"""
from __future__ import annotations
import pytest
from fastapi import HTTPException
from app.services.pl_cert_required_service import (
validate_personnel_required_certs,
validate_vehicle_save_certs,
)
def test_carrier_personnel_skips_required_certs():
validate_personnel_required_certs(
[],
"driver",
personnel_affiliation="carrier",
subject_label="「张三」",
)
def test_self_personnel_still_requires_certs():
with pytest.raises(HTTPException) as ei:
validate_personnel_required_certs(
[],
"driver",
personnel_affiliation="self",
subject_label="「李四」",
)
assert ei.value.status_code == 400
assert "必备证书" in ei.value.detail
def test_validate_vehicle_save_certs_carrier_skips_vehicle_and_personnel_certs(monkeypatch):
"""carrier 车:不跑车辆必备、不跑关联人员证书;仍可跑归属。"""
called = {"self": 0, "carrier": 0, "links": 0}
import app.services.pl_cert_required_service as svc
monkeypatch.setattr(
svc,
"validate_self_vehicle_required_certs",
lambda *a, **k: called.__setitem__("self", called["self"] + 1),
)
monkeypatch.setattr(
svc,
"validate_carrier_vehicle_required_certs",
lambda *a, **k: called.__setitem__("carrier", called["carrier"] + 1),
)
monkeypatch.setattr(
svc,
"validate_vehicle_personnel_cert_links",
lambda *a, **k: called.__setitem__("links", called["links"] + 1),
)
monkeypatch.setattr(svc, "validate_vehicle_personnel_affiliation", lambda *a, **k: None)
validate_vehicle_save_certs(
db=None,
tenant_no="t1",
vehicle_type="carrier",
trailer_no="皖LP359",
cert_rows=[],
personnel_rows=[],
)
assert called["carrier"] == 0
assert called["self"] == 0
assert called["links"] == 0