Files
doc-forge/tests/renderers/mcp/test_mcp_module_coverage.py

32 lines
885 B
Python

from pathlib import Path
from docforge import MCPRenderer
from docforge.loaders import GriffeLoader, discover_module_paths
def test_mcp_emits_all_modules(tmp_path: Path) -> None:
project_root = Path(__file__).resolve().parents[3]
loader = GriffeLoader()
discovered_paths = discover_module_paths(
"docforge",
project_root=project_root,
)
project = loader.load_project(discovered_paths)
renderer = MCPRenderer()
renderer.generate_sources(project, tmp_path)
emitted = {
p.relative_to(tmp_path).as_posix()
for p in (tmp_path / "modules").rglob("*.json")
}
expected = {f"modules/{m.path}.json" for m in project.get_all_modules()}
missing = expected - emitted
assert not missing, f"Missing MCP module JSON files: {missing}"
# also assert nav.json exists
assert (tmp_path / "nav.json").exists()