Files
certificate-system/backend/tests/test_import_rules.py
2026-06-06 19:32:24 +08:00

35 lines
849 B
Python

from datetime import date
from app.api.routes.admin_imports import (
COL_CERT_NAME,
COL_ISSUE_DATE,
COL_NAME,
COL_PHONE,
COL_PROJECT,
COL_ISSUER,
date_is_valid,
parse_issue_date,
row_errors,
)
def test_parse_issue_date_accepts_common_formats():
assert parse_issue_date("2026-06-01") == date(2026, 6, 1)
assert parse_issue_date("2026/06/01") == date(2026, 6, 1)
def test_row_errors_require_project_code_to_exist():
row = {
COL_NAME: "张三",
COL_PHONE: "13800000000",
COL_PROJECT: "BAD",
COL_CERT_NAME: "结业证书",
COL_ISSUE_DATE: "2026-06-01",
COL_ISSUER: "测试公司",
}
assert "Project code is inactive or missing" in row_errors(row, {"DBY"})
def test_date_is_valid_rejects_bad_text():
assert not date_is_valid("not-a-date")