46 lines
1.4 KiB
Python
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"
|