/**
 * 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();
  });
});
