feat(destinations): the post-16 section, replacing the placeholder
The 'Post-16 destination data coming soon' note is deleted rather than reworded: for a school with no sixth form the truthful statement is that the question does not apply, and a placeholder there implies something is missing. hasSixthForm and .sixthFormNote go with it — nothing else used them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BvdDKvFFSZuMVDH5fEyTob
This commit is contained in:
1 parent
cef2f77149
commit
2b4cf20d75
5 files changed
+94
-18
No files matched your search
@@ -0,0 +1,45 @@
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import { Post16DestinationsSection } from '@/components/school/Post16DestinationsSection';
|
||||
import type { DestinationPhase } from '@/lib/types';
|
||||
|
||||
const phase: DestinationPhase = {
|
||||
cohort_year: '2022/23',
|
||||
groups: {
|
||||
all: {
|
||||
cohort: 96,
|
||||
categories: [
|
||||
{ category: 'higher_education', pupils: 56, percentage: 58.3, status: 'published' },
|
||||
{ category: 'further_education', pupils: 12, percentage: 12.5, status: 'published' },
|
||||
{ category: 'apprenticeship', pupils: 9, percentage: 9.4, status: 'published' },
|
||||
{ category: 'employment', pupils: 13, percentage: 13.5, status: 'published' },
|
||||
{ category: 'not_sustained', pupils: 6, percentage: 6.3, status: 'published' },
|
||||
],
|
||||
aggregates: {},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
describe('Post16DestinationsSection', () => {
|
||||
it('names the Year 13 cohort, not Year 11', () => {
|
||||
const { container } = render(<Post16DestinationsSection destinations={phase} />);
|
||||
expect(container.textContent).toMatch(/Year 13/);
|
||||
expect(container.textContent).not.toMatch(/Year 11/);
|
||||
});
|
||||
|
||||
it('reports higher education destinations', () => {
|
||||
render(<Post16DestinationsSection destinations={phase} />);
|
||||
expect(screen.getByText(/UK higher education/i)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('uses its own anchor so the nav does not collide with After Year 11', () => {
|
||||
const { container } = render(<Post16DestinationsSection destinations={phase} />);
|
||||
expect(container.querySelector('#post16-destinations')).toBeTruthy();
|
||||
expect(container.querySelector('#destinations')).toBeNull();
|
||||
});
|
||||
|
||||
it('renders nothing when no group carries categories', () => {
|
||||
const empty: DestinationPhase = { cohort_year: '2022/23', groups: {} };
|
||||
const { container } = render(<Post16DestinationsSection destinations={empty} />);
|
||||
expect(container.firstChild).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user