feat: add domain daily rollups

This commit is contained in:
Christian Krakau-Louis
2026-05-22 21:12:43 +02:00
parent b1ff08590f
commit ccc634a10b
6 changed files with 102 additions and 11 deletions
@@ -42,6 +42,11 @@ class TestComplianceTimeline:
data = response.json()
timeline = data["compliance_timeline"]
assert len(timeline) >= 1
assert timeline[0]["total"] == 10
assert timeline[0]["volume"] == 10
assert timeline[0]["passed"] == 8
assert timeline[0]["failed"] == 2
assert timeline[0]["failure_rate"] == 20.0
def test_timeline_uses_real_dates(self, client: TestClient):
"""Timeline dates should come from actual report begin_dates."""
@@ -108,7 +113,11 @@ class TestComplianceTimeline:
timeline = _build_compliance_timeline(store, "isodate.com")
assert len(timeline) == 1
assert timeline[0].date == "2020-08-15"
assert timeline[0].total == 10
assert timeline[0].passed == 9
assert timeline[0].failed == 1
assert timeline[0].compliance_rate == 90.0
assert timeline[0].failure_rate == 10.0
class TestBuildComplianceTimelineMultipleReports:
@@ -126,8 +135,12 @@ class TestBuildComplianceTimelineMultipleReports:
assert len(timeline) == 1
assert timeline[0]["date"] == "2020-08-15"
assert timeline[0]["total"] == 20
assert timeline[0]["passed"] == 14
assert timeline[0]["failed"] == 6
# Aggregated: 14 passed out of 20 total = 70%
assert timeline[0]["compliance_rate"] == 70.0
assert timeline[0]["failure_rate"] == 30.0
def test_reports_on_different_days(self, client: TestClient):
"""Reports on different days should produce separate timeline points."""
@@ -142,6 +155,9 @@ class TestBuildComplianceTimelineMultipleReports:
assert len(timeline) == 2
# Sorted by date
assert timeline[0]["date"] == "2020-08-15"
assert timeline[0]["total"] == 10
assert timeline[0]["compliance_rate"] == 100.0
assert timeline[1]["date"] == "2020-08-16"
assert timeline[1]["total"] == 10
assert timeline[1]["compliance_rate"] == 50.0
assert timeline[1]["failure_rate"] == 50.0