import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; import Modal from '../src/components/ui/Modal'; describe('Modal component', () => { it('does not render when isOpen is false', () => { render( {}} title="Test">

content

); expect(screen.queryByRole('dialog')).not.toBeInTheDocument(); }); it('renders title and children when open', () => { render( {}} title="My Modal">

Hello

); expect(screen.getByRole('dialog')).toBeInTheDocument(); expect(screen.getByText('My Modal')).toBeInTheDocument(); expect(screen.getByText('Hello')).toBeInTheDocument(); }); it('calls onClose when close button is clicked', () => { const onClose = jest.fn(); render(

x

); fireEvent.click(screen.getByLabelText(/close modal/i)); expect(onClose).toHaveBeenCalled(); }); it('calls onClose when Escape key is pressed', () => { const onClose = jest.fn(); render(

x

); fireEvent.keyDown(document, { key: 'Escape' }); expect(onClose).toHaveBeenCalled(); }); });