fix(rankings,admissions): correct accuracy issues from education audit
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m3s
PR Checks / Backend Smoke (pull_request) Successful in 7s
PR Checks / Build Backend (no push) (pull_request) Successful in 10s
PR Checks / Build Frontend (no push) (pull_request) Successful in 42s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 10s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 1m11s
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m3s
PR Checks / Backend Smoke (pull_request) Successful in 7s
PR Checks / Build Backend (no push) (pull_request) Successful in 10s
PR Checks / Build Frontend (no push) (pull_request) Successful in 42s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 10s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 1m11s
Follow-up audit of the rankings and admissions pages. Admissions (AdmissionsView.tsx): - National Offer Day no longer claims offers publish "from 12:01 am"; release times are set per-council (often late afternoon, some overnight), so it now tells parents to check their council's page. - Secondary preference count no longer states a flat "up to six" (that's London/Pan-London); most LAs allow three to six. Mirrors the hedge the primary step already used. - Added the two deadlines that most often catch parents out: selective schools' separate entrance-test registration (months earlier), and faith schools' supplementary information form sent direct to the school. Covered in both the primary and secondary criteria steps. - Reworded the equal-preference tip so it's precise: order is the tie-break among schools you qualify for (you get the highest-ranked one), not irrelevant. Rankings (RankingsView.tsx): - Subtitle "Top-performing schools by X" -> "Schools ranked by X", so it isn't nonsensical for context/equity/absence metrics. - KS2 progress isn't published for 2023/24 or 2024/25 (no KS1 baseline). Selecting a primary progress metric on a recent year used to dead-end on a generic "No rankings found". Added a scoped caveat to the progress hint and an explanatory empty-state (primary only — secondary Progress 8 is published). Added an admissions smoke journey (static content, stable milestones). Verified with tsc --noEmit and next build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
This commit is contained in:
@@ -438,6 +438,18 @@ test('compare chart on mobile shows school chips with tap-to-focus', async ({ pa
|
||||
await expect(chips.first()).toHaveAttribute('aria-pressed', 'false');
|
||||
});
|
||||
|
||||
test('admissions guide renders its key milestones', async ({ page }) => {
|
||||
// Static content page — assert the guide loads and the load-bearing
|
||||
// milestones parents rely on are present (dates are statutory, so these
|
||||
// strings are stable invariants, not data-refresh-sensitive).
|
||||
await page.goto('/admissions');
|
||||
await expect(page.getByRole('heading', { name: /School Admissions Guide/i })).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: /Primary school admissions/i })).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: /Secondary school admissions/i })).toBeVisible();
|
||||
// National Offer Day is the milestone the whole guide builds toward.
|
||||
await expect(page.getByText(/National Offer Day/i).first()).toBeVisible();
|
||||
});
|
||||
|
||||
test('rankings page loads a populated table', async ({ page }) => {
|
||||
await page.goto('/rankings');
|
||||
await expect(page.getByRole('heading', { name: /rankings/i }).first()).toBeVisible();
|
||||
|
||||
Reference in New Issue
Block a user