feat(platform): close AI expense value loop
Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
This commit is contained in:
@@ -421,6 +421,8 @@ def test_hermes_global_scan_builds_graphs_inside_each_tenant(
|
||||
_claim_orm("claim-tenant-a", "BX-TENANT-A"),
|
||||
_claim_orm("claim-tenant-b", "BX-TENANT-B"),
|
||||
]
|
||||
claims[0].tenant_id = "tenant-a"
|
||||
claims[1].tenant_id = "tenant-b"
|
||||
cases = [
|
||||
ExpenseCase(
|
||||
id=f"case-tenant-{suffix}",
|
||||
@@ -459,21 +461,27 @@ def test_hermes_global_scan_builds_graphs_inside_each_tenant(
|
||||
return []
|
||||
|
||||
scanner = HermesRiskScannerService(db)
|
||||
monkeypatch.setattr(scanner, "_fetch_unscanned_claims", lambda: claims)
|
||||
monkeypatch.setattr(
|
||||
scanner,
|
||||
"_fetch_unscanned_claims",
|
||||
lambda *, tenant_id: [claim for claim in claims if claim.tenant_id == tenant_id],
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"app.services.hermes_risk_scanner.evaluate_financial_risk_graph",
|
||||
fake_evaluate,
|
||||
)
|
||||
monkeypatch.setattr(RiskObservationService, "build_history_stats", fake_history)
|
||||
|
||||
summary = scanner.scan_global_risks()
|
||||
summary_a = scanner.scan_global_risks(tenant_id="tenant-a")
|
||||
summary_b = scanner.scan_global_risks(tenant_id="tenant-b")
|
||||
|
||||
assert evaluated_claim_sets == [
|
||||
{"claim-tenant-a"},
|
||||
{"claim-tenant-b"},
|
||||
]
|
||||
assert history_tenants == ["tenant-a", "tenant-b"]
|
||||
assert summary["scanned_claim_count"] == 2
|
||||
assert summary_a["scanned_claim_count"] == 1
|
||||
assert summary_b["scanned_claim_count"] == 1
|
||||
|
||||
|
||||
def test_risk_scan_discards_snapshot_after_claim_changes_during_evaluation(
|
||||
@@ -493,7 +501,11 @@ def test_risk_scan_discards_snapshot_after_claim_changes_during_evaluation(
|
||||
return SimpleNamespace(observations=[], nodes=[], edges=[])
|
||||
|
||||
scanner = HermesRiskScannerService(db)
|
||||
monkeypatch.setattr(scanner, "_fetch_unscanned_claims", lambda: [claim])
|
||||
monkeypatch.setattr(
|
||||
scanner,
|
||||
"_fetch_unscanned_claims",
|
||||
lambda *, tenant_id: [claim] if claim.tenant_id == tenant_id else [],
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"app.services.hermes_risk_scanner.evaluate_financial_risk_graph",
|
||||
fake_evaluate,
|
||||
|
||||
Reference in New Issue
Block a user