Files
school_compare/backend/tests/test_ofsted_codes.py

46 lines
1.4 KiB
Python

"""Report-card code translation uses the live-sampled Ofsted vocabulary
(pipeline/scripts/diagnose_compare_gaps.py, TASK 7 VALUE SAMPLE):
Exceptional / Strong standard / Expected standard / Needs attention /
Urgent improvement — never the consultation draft's 'Attention needed'."""
from backend.ofsted_codes import (
REPORT_CARD_GRADE_NAMES,
ofsted_page_url,
report_card_labels,
)
def test_scale_is_sampled_vocabulary():
assert REPORT_CARD_GRADE_NAMES == {
1: "Exceptional",
2: "Strong standard",
3: "Expected standard",
4: "Needs attention",
5: "Urgent improvement",
}
def test_labels_only_for_populated_areas_and_never_safeguarding():
ofsted = {
"rc_achievement": 2,
"rc_inclusion": 3,
"rc_attendance_behaviour": 4,
"rc_early_years": None,
"rc_safeguarding_met": True,
"overall_effectiveness": None,
}
labels = report_card_labels(ofsted)
assert labels == {
"rc_achievement": {"code": 2, "label": "Strong standard"},
"rc_inclusion": {"code": 3, "label": "Expected standard"},
"rc_attendance_behaviour": {"code": 4, "label": "Needs attention"},
}
def test_unknown_code_is_skipped_not_crashed():
assert report_card_labels({"rc_achievement": 9}) == {}
def test_provider_url():
assert ofsted_page_url(138690) == "https://reports.ofsted.gov.uk/provider/21/138690"