28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
from app.service.risk_tools import build_alert_search_result
|
|
|
|
|
|
def test_search_result_summary_contains_all_customers_and_products() -> None:
|
|
items = [
|
|
{
|
|
"alert_no": f"ALERT-{index:03d}",
|
|
"customer_no": f"CUST-{index % 2 + 1:03d}",
|
|
"customer_name": "张*" if index % 2 else "李*",
|
|
"product_code": f"P-{index % 3 + 1:03d}",
|
|
"product_name": f"产品{index % 3 + 1}",
|
|
"risk_level": "低",
|
|
"rule_codes": ["RW-018"],
|
|
"evidence_summary": "测试证据",
|
|
"disposition_hint": {"verdict": "可考虑放行"},
|
|
}
|
|
for index in range(12)
|
|
]
|
|
|
|
result = build_alert_search_result(items, {"risk_level": "低"})
|
|
|
|
assert result["total"] == 12
|
|
assert len(result["summary"]["customer_groups"]) == 2
|
|
assert len(result["summary"]["product_groups"]) == 3
|
|
assert result["summary"]["complete"] is True
|
|
assert result["summary"]["disposition_counts"] == {"可考虑放行": 12}
|
|
assert len(result["items"]) == 12
|