48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
"""
|
|
StatementService 主绑定注入测试
|
|
"""
|
|
|
|
from services.file_service import FileService
|
|
from services.statement_service import StatementService
|
|
|
|
|
|
def test_get_bank_statement_uses_primary_binding_from_file_service(monkeypatch):
|
|
"""同一 logId 的流水记录必须复用 FileService 中的主体与账号绑定。"""
|
|
file_service = FileService()
|
|
statement_service = StatementService(file_service=file_service)
|
|
|
|
monkeypatch.setattr(
|
|
file_service,
|
|
"_generate_primary_binding",
|
|
lambda: ("绑定主体", "6222000011112222"),
|
|
)
|
|
|
|
response = file_service.fetch_inner_flow(
|
|
{
|
|
"groupId": 1001,
|
|
"customerNo": "customer_001",
|
|
"dataChannelCode": "test",
|
|
"requestDateId": 20240101,
|
|
"dataStartDateId": 20240101,
|
|
"dataEndDateId": 20240131,
|
|
"uploadUserId": 902001,
|
|
}
|
|
)
|
|
log_id = response["data"][0]
|
|
record = file_service.file_records[log_id]
|
|
|
|
statement_response = statement_service.get_bank_statement(
|
|
{
|
|
"groupId": 1001,
|
|
"logId": log_id,
|
|
"pageNow": 1,
|
|
"pageSize": 5,
|
|
}
|
|
)
|
|
|
|
statements = statement_response["data"]["bankStatementList"]
|
|
assert statements
|
|
assert all(item["leName"] == record.primary_enterprise_name for item in statements)
|
|
assert all(item["accountMaskNo"] == record.primary_account_no for item in statements)
|
|
|