34 lines
1.6 KiB
TypeScript
34 lines
1.6 KiB
TypeScript
/**
|
|||
|
|
* SpecialSchoolNote Component Tests
|
||
|
|
*/
|
||
|
|
|
||
|
|
import '@testing-library/jest-dom';
|
||
|
|
import { render, screen } from '@testing-library/react';
|
||
|
|
import { SpecialSchoolNote } from '@/components/SpecialSchoolNote';
|
||
|
|
|
||
|
|
describe('SpecialSchoolNote', () => {
|
||
|
|
it('renders nothing for a mainstream school', () => {
|
||
|
|
const { container } = render(<SpecialSchoolNote school={{ school_type: 'Academy converter' }} />);
|
||
|
|
expect(container).toBeEmptyDOMElement();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('describes a special school as teaching pupils with SEND', () => {
|
||
|
|
render(<SpecialSchoolNote school={{ school_type: 'Community special school' }} />);
|
||
|
|
expect(screen.getByText(/This is a special school/i)).toBeInTheDocument();
|
||
|
|
expect(screen.getByText(/special educational needs/i)).toBeInTheDocument();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('does NOT call PRU pupils SEND — they are educated outside a mainstream school', () => {
|
||
|
|
render(<SpecialSchoolNote school={{ school_type: 'Pupil referral unit' }} />);
|
||
|
|
expect(screen.getByText(/This is a pupil referral unit/i)).toBeInTheDocument();
|
||
|
|
expect(screen.getByText(/educated outside a mainstream school/i)).toBeInTheDocument();
|
||
|
|
expect(screen.queryByText(/special educational needs/i)).not.toBeInTheDocument();
|
||
|
|
});
|
||
|
|
|
||
|
|
it('does NOT call alternative-provision pupils SEND', () => {
|
||
|
|
render(<SpecialSchoolNote school={{ school_type: 'Academy alternative provision converter' }} />);
|
||
|
|
expect(screen.getByText(/This is an alternative provision setting/i)).toBeInTheDocument();
|
||
|
|
expect(screen.queryByText(/special educational needs/i)).not.toBeInTheDocument();
|
||
|
|
});
|
||
|
|
});
|