from pathlib import Path import scripts.decisions_lib as dl FIX = Path(__file__).parent / "fixtures" / "sample_decisions.md" def test_parses_migrated_record(): recs = dl.parse_file(FIX) migrated = [r for r in recs if r.key == "ci.runner-placement"] assert len(migrated) == 1 r = migrated[0] assert r.status == "active" assert r.since == "2026-07-17" assert r.supersedes == "none" assert r.superseded_by == "none" assert r.rule == "Every CI services container gets an explicit cap." assert r.signals is not None assert "issues: #390 #406" in r.signals assert r.mechanics is not None assert r.mechanics.startswith("docs/ci-cd.md") def test_legacy_record_is_unmigrated(): recs = dl.parse_file(FIX) legacy = [r for r in recs if r.heading.endswith("(#231)")] assert len(legacy) == 1 assert legacy[0].key is None assert legacy[0].status == "legacy-unmigrated" def test_index_section_parses_as_heading(): recs = dl.parse_file(FIX) assert any(r.heading == "Index" for r in recs)