| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- """pl_cert_required_service 人员必备证书规则测试。"""
- from __future__ import annotations
- from app.services.pl_cert_required_service import (
- collect_required_cert_errors,
- get_required_personnel_cert_names,
- match_required_cert_name,
- )
- def test_match_driver_qualification_exact():
- assert match_required_cert_name("驾驶员从业资格证", "驾驶员从业资格证") is True
- assert match_required_cert_name("从业资格证", "驾驶员从业资格证") is False
- assert match_required_cert_name("危化品从业资格证", "驾驶员从业资格证") is False
- def test_match_escort_qualification_and_alias():
- assert match_required_cert_name("押运员从业资格证", "押运员从业资格证") is True
- assert match_required_cert_name("押运员证", "押运员从业资格证") is True
- assert match_required_cert_name("从业资格证", "押运员从业资格证") is False
- def test_required_names_by_personnel_type():
- assert get_required_personnel_cert_names("driver") == (
- "身份证",
- "驾驶证",
- "驾驶员从业资格证",
- )
- assert get_required_personnel_cert_names("escort") == (
- "身份证",
- "押运员从业资格证",
- )
- assert get_required_personnel_cert_names("both") == (
- "身份证",
- "驾驶证",
- "驾驶员从业资格证",
- "押运员从业资格证",
- )
- def test_both_requires_four_certs():
- cert_rows = [
- {"certName": "身份证", "certNo": "1", "expireDate": "2030-01-01", "attachmentUrls": "http://a"},
- {"certName": "驾驶证", "certNo": "2", "expireDate": "2030-01-01", "attachmentUrls": "http://b"},
- {"certName": "驾驶员从业资格证", "certNo": "3", "expireDate": "2030-01-01", "attachmentUrls": "http://c"},
- ]
- errors = collect_required_cert_errors(
- cert_rows,
- get_required_personnel_cert_names("both"),
- )
- assert any("押运员从业资格证" in e for e in errors)
- def test_escort_alias_counts_as_complete():
- cert_rows = [
- {"certName": "身份证", "expireDate": "2030-01-01", "attachmentUrls": "http://a"},
- {"certName": "押运员证", "expireDate": "2030-01-01", "attachmentUrls": "http://b"},
- ]
- errors = collect_required_cert_errors(
- cert_rows,
- get_required_personnel_cert_names("escort"),
- )
- assert errors == []
- def test_cert_no_optional_for_required_slot():
- cert_rows = [
- {"certName": "身份证", "expireDate": "2030-01-01", "attachmentUrls": "http://a"},
- {"certName": "押运员从业资格证", "expireDate": "2030-01-01", "attachmentUrls": "http://b"},
- ]
- errors = collect_required_cert_errors(
- cert_rows,
- get_required_personnel_cert_names("escort"),
- )
- assert errors == []
|