修复Mock流水按数据库员工及亲属绑定身份证

This commit is contained in:
wkc
2026-03-19 16:07:28 +08:00
parent 627886f711
commit 0457c8f3a6
12 changed files with 426 additions and 34 deletions

View File

@@ -11,9 +11,18 @@ from fastapi.datastructures import UploadFile
from services.file_service import FileService
class FakeStaffIdentityRepository:
def select_random_staff_with_families(self):
return {
"staff_name": "数据库员工",
"staff_id_card": "320101199001010030",
"family_id_cards": ["320101199201010051", "320101199301010052"],
}
def test_upload_file_primary_binding_response(monkeypatch):
"""同一 logId 的主绑定必须稳定且只保留一组主体/账号信息。"""
service = FileService()
service = FileService(staff_identity_repository=FakeStaffIdentityRepository())
monkeypatch.setattr(
service,
@@ -42,7 +51,7 @@ def test_upload_file_primary_binding_response(monkeypatch):
def test_upload_file_total_records_range(monkeypatch):
"""上传文件返回的流水条数必须限制在 150-200 条。"""
service = FileService()
service = FileService(staff_identity_repository=FakeStaffIdentityRepository())
monkeypatch.setattr(
service,
@@ -69,7 +78,7 @@ def test_upload_file_total_records_range(monkeypatch):
def test_upload_file_then_upload_status_reads_same_record(monkeypatch):
"""上传后再查状态时,上传状态接口必须读取同一条真实记录。"""
service = FileService()
service = FileService(staff_identity_repository=FakeStaffIdentityRepository())
monkeypatch.setattr(
service,
@@ -108,8 +117,8 @@ def test_upload_file_then_upload_status_reads_same_record(monkeypatch):
def test_fetch_inner_flow_persists_primary_binding_record(monkeypatch):
"""拉取行内流水必须创建并保存绑定记录"""
service = FileService()
"""拉取行内流水必须创建并保存数据库员工及亲属身份"""
service = FileService(staff_identity_repository=FakeStaffIdentityRepository())
monkeypatch.setattr(
service,
@@ -137,6 +146,9 @@ def test_fetch_inner_flow_persists_primary_binding_record(monkeypatch):
assert record.parsing is False
assert record.primary_enterprise_name
assert record.primary_account_no
assert record.staff_name == "数据库员工"
assert record.staff_id_card == "320101199001010030"
assert record.family_id_cards == ["320101199201010051", "320101199301010052"]
assert record.primary_enterprise_name == "行内主体"
assert record.primary_account_no == "6210987654321098"
assert record.enterprise_name_list == ["行内主体"]