Skip to content

Commit 1917579

Browse files
committed
feat: upgrade remote scanning and reporting (tests/test_reporter.py)
1 parent fa1d183 commit 1917579

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

tests/test_reporter.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
"""Tests for reporter helpers."""
2+
3+
from roast.analyzer import AnalysisReport, Issue
4+
from roast.reporter import build_report_payload
5+
from roast.roaster import RoastResult
6+
7+
8+
def test_build_report_payload_includes_counts_and_hotspots() -> None:
9+
report = AnalysisReport(
10+
total_files=3,
11+
total_lines=120,
12+
issues=[
13+
Issue(file="app/main.py", line=10, category="AI Slop", severity="high", description="TODO found"),
14+
Issue(file="app/main.py", line=22, category="AI Slop", severity="medium", description="Magic number"),
15+
Issue(file="app/api.py", line=8, category="Style", severity="low", description="Missing docstring"),
16+
],
17+
scores={"AI Slop": 78, "Code Quality": 65, "Style": 92, "Overall": 81},
18+
)
19+
roast = RoastResult(
20+
headline="Amazingly survivable.",
21+
roast_lines=["Line one", "Line two", "Line three", "Line four", "Line five"],
22+
verdict="SHIP IT",
23+
verdict_emoji="🚀",
24+
)
25+
26+
payload = build_report_payload(report, roast)
27+
28+
assert payload["summary"]["total_issues"] == 3
29+
assert payload["counts"]["by_severity"]["high"] == 1
30+
assert payload["counts"]["by_severity"]["medium"] == 1
31+
assert payload["counts"]["by_severity"]["low"] == 1
32+
assert payload["counts"]["by_category"]["AI Slop"] == 2
33+
assert payload["hotspots"][0] == {"file": "app/main.py", "issue_count": 2}
34+
assert "brightgreen" in payload["share"]["badge_markdown"]

0 commit comments

Comments
 (0)