统一Mock上传状态主体账号绑定优先级
This commit is contained in:
@@ -40,6 +40,46 @@ def test_upload_file_primary_binding_response(monkeypatch):
|
||||
assert record.account_no_list == ["6222021234567890"]
|
||||
|
||||
|
||||
def test_upload_file_then_upload_status_reads_same_record(monkeypatch):
|
||||
"""上传后再查状态时,上传状态接口必须读取同一条真实记录。"""
|
||||
service = FileService()
|
||||
|
||||
monkeypatch.setattr(
|
||||
service,
|
||||
"_generate_primary_binding",
|
||||
lambda: ("测试主体B", "6222333344445555"),
|
||||
)
|
||||
|
||||
background_tasks = BackgroundTasks()
|
||||
file = UploadFile(filename="测试文件.csv", file=io.BytesIO(b"mock"))
|
||||
|
||||
upload_response = asyncio.run(service.upload_file(1001, file, background_tasks))
|
||||
log = upload_response["data"]["uploadLogList"][0]
|
||||
|
||||
monkeypatch.setattr(
|
||||
service,
|
||||
"_build_deterministic_log_detail",
|
||||
lambda *args, **kwargs: (_ for _ in ()).throw(
|
||||
AssertionError("真实记录存在时不应走 deterministic fallback")
|
||||
),
|
||||
)
|
||||
|
||||
status_response = service.get_upload_status(1001, log["logId"])
|
||||
status_log = status_response["data"]["logs"][0]
|
||||
|
||||
assert status_log["enterpriseNameList"] == log["enterpriseNameList"]
|
||||
assert status_log["accountNoList"] == log["accountNoList"]
|
||||
assert status_log["bankName"] == log["bankName"]
|
||||
assert status_log["templateName"] == log["templateName"]
|
||||
assert status_log["uploadFileName"] == log["uploadFileName"]
|
||||
assert status_log["trxDateStartId"] == log["trxDateStartId"]
|
||||
assert status_log["trxDateEndId"] == log["trxDateEndId"]
|
||||
assert status_log["enterpriseNameList"] == ["测试主体B"]
|
||||
assert status_log["accountNoList"] == ["6222333344445555"]
|
||||
assert len(status_log["enterpriseNameList"]) == 1
|
||||
assert len(status_log["accountNoList"]) == 1
|
||||
|
||||
|
||||
def test_fetch_inner_flow_persists_primary_binding_record(monkeypatch):
|
||||
"""拉取行内流水必须创建并保存绑定记录。"""
|
||||
service = FileService()
|
||||
|
||||
Reference in New Issue
Block a user