实现lsfx-mock全命中SQL对齐
This commit is contained in:
@@ -236,3 +236,70 @@ def test_inner_flow_should_apply_phase2_baselines_before_get_bank_statement(clie
|
||||
assert response.status_code == 200
|
||||
assert applied["called"] is True
|
||||
assert applied["baseline_rule_codes"] == ["SUPPLIER_CONCENTRATION"]
|
||||
|
||||
|
||||
def test_all_mode_should_expose_sql_aligned_target_rule_samples(client, monkeypatch):
|
||||
from routers.api import file_service
|
||||
|
||||
applied = {}
|
||||
|
||||
def fake_apply(**kwargs):
|
||||
applied["called"] = True
|
||||
applied["baseline_rule_codes"] = kwargs["baseline_rule_codes"]
|
||||
|
||||
monkeypatch.setattr("services.file_service.settings.RULE_HIT_MODE", "all")
|
||||
monkeypatch.setattr(file_service.phase2_baseline_service, "apply", fake_apply)
|
||||
monkeypatch.setattr(
|
||||
file_service,
|
||||
"_build_rule_hit_plan",
|
||||
lambda log_id: {
|
||||
"large_transaction_hit_rules": [],
|
||||
"phase1_hit_rules": [
|
||||
"SPECIAL_AMOUNT_TRANSACTION",
|
||||
"SUSPICIOUS_INCOME_KEYWORD",
|
||||
],
|
||||
"phase2_statement_hit_rules": [
|
||||
"LOW_INCOME_RELATIVE_LARGE_TRANSACTION",
|
||||
"MONTHLY_FIXED_INCOME",
|
||||
"FIXED_COUNTERPARTY_TRANSFER",
|
||||
],
|
||||
"phase2_baseline_hit_rules": [],
|
||||
},
|
||||
)
|
||||
|
||||
fetch_response = client.post(
|
||||
"/watson/api/project/getJZFileOrZjrcuFile",
|
||||
data={
|
||||
"groupId": 1001,
|
||||
"customerNo": "customer_sql_aligned_all_mode",
|
||||
"dataChannelCode": "test_code",
|
||||
"requestDateId": 20240101,
|
||||
"dataStartDateId": 20240101,
|
||||
"dataEndDateId": 20240131,
|
||||
"uploadUserId": 902001,
|
||||
},
|
||||
)
|
||||
|
||||
assert fetch_response.status_code == 200
|
||||
log_id = fetch_response.json()["data"][0]
|
||||
assert applied["called"] is True
|
||||
assert applied["baseline_rule_codes"] == ["LOW_INCOME_RELATIVE_LARGE_TRANSACTION"]
|
||||
|
||||
statement_response = client.post(
|
||||
"/watson/api/project/getBSByLogId",
|
||||
data={
|
||||
"groupId": 1001,
|
||||
"logId": log_id,
|
||||
"pageNow": 1,
|
||||
"pageSize": 200,
|
||||
},
|
||||
)
|
||||
|
||||
assert statement_response.status_code == 200
|
||||
statements = statement_response.json()["data"]["bankStatementList"]
|
||||
assert statements
|
||||
assert any(item["transAmount"] == 1314.0 for item in statements)
|
||||
assert any(item["userMemo"] == "劳务费发放" for item in statements)
|
||||
assert any(item["userMemo"] == "月度稳定兼职收入" for item in statements)
|
||||
assert any(item["userMemo"] == "季度稳定兼职收入" for item in statements)
|
||||
assert any(item["userMemo"] in {"亲属大额转入", "亲属经营补贴"} for item in statements)
|
||||
|
||||
Reference in New Issue
Block a user