feat(api): Ofsted report-card labels and provider-page URL
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
"""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"
|
||||
Reference in New Issue
Block a user