import { render, screen } from '@testing-library/react'; import MessageTip from './index'; describe('MessageTip', () => { it('should not render when show prop is false', () => { render( Close} />, ); const messageTip = screen.queryByRole('alert'); expect(messageTip).toBeNull(); }); it('should render with the provided message and action', () => { const message = 'Test Message'; const action = ; render(); const messageTip = screen.getByRole('alert'); const messageText = screen.getByText(message); const actionButton = screen.getByRole('button', { name: 'Close' }); expect(messageTip).toBeInTheDocument(); expect(messageText).toBeInTheDocument(); expect(actionButton).toBeInTheDocument(); }); // taken from antd docs // https://github.com/ant-design/ant-design/blob/master/components/alert/__tests__/index.test.tsx it('custom action', () => { const { container } = render( Close} />, ); expect(container.firstChild).toMatchSnapshot(); }); });