from __future__ import annotations from pathlib import Path from reuse_surface.stats import ( collect_roster_stats, collect_stats, format_roster_stats_markdown, format_stats_markdown, ) def test_collect_stats_on_repo_root(): root = Path(__file__).resolve().parent.parent stats = collect_stats(root) assert stats["capability_count"] == 2 assert stats["index_present"] is True assert "discovery" in stats["histograms"] def test_format_stats_markdown_contains_count(): root = Path(__file__).resolve().parent.parent text = format_stats_markdown(collect_stats(root)) assert "Capabilities:" in text assert "2" in text def test_collect_roster_stats_federation_ready(): root = Path(__file__).resolve().parent.parent roster = root / "registry/federation/local-repo-roster.yaml" stats = collect_roster_stats(roster, federation_ready=True) assert stats["counts"]["total"] == 60 assert stats["counts"]["established"] == 60 assert "federation_readiness" in stats text = format_roster_stats_markdown(stats) assert "publish pass ratio" in text