import React from 'react'; import { screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { render } from 'lib/testHelpers'; import Alert, { AlertProps } from 'components/common/Alert/Alert'; const title = 'My Alert Title'; const message = 'My Alert Message'; const dismiss = jest.fn(); describe('Alert', () => { const setupComponent = (props: Partial = {}) => render( ); const getButton = () => screen.getByRole('button'); it('renders with initial props', () => { setupComponent(); expect(screen.getByRole('heading')).toHaveTextContent(title); expect(screen.getByRole('contentinfo')).toHaveTextContent(message); expect(getButton()).toBeInTheDocument(); }); it('handles dismiss callback', () => { setupComponent(); userEvent.click(getButton()); expect(dismiss).toHaveBeenCalled(); }); });