import { h } from 'preact'; import Dialog from '../Dialog'; import { fireEvent, render, screen } from '@testing-library/preact'; describe('Dialog', () => { let portal; beforeAll(() => { portal = document.createElement('div'); portal.id = 'dialogs'; document.body.appendChild(portal); }); afterAll(() => { document.body.removeChild(portal); }); test('renders to a portal', async () => { render(); expect(screen.getByText('Tacos')).toBeInTheDocument(); expect(screen.getByRole('modal').closest('#dialogs')).not.toBeNull(); }); test('renders action buttons', async () => { const handleClick = jest.fn(); render( ); fireEvent.click(screen.getByRole('button', { name: 'Okay' })); expect(handleClick).toHaveBeenCalled(); }); });