import { fireEvent, render, screen } from '@testing-library/react' import { describe, expect, it, vi } from 'vitest' import { Modal } from './Modal' describe('Modal', () => { it('portals the dialog to body so the scrim covers the full app shell', () => { const onClose = vi.fn() const { container } = render(
Provider form
, ) const dialog = screen.getByRole('dialog', { name: 'Provider' }) expect(container.contains(dialog)).toBe(false) expect(document.body.contains(dialog)).toBe(true) }) it('closes when the backdrop is clicked', () => { const onClose = vi.fn() render( Provider form , ) const backdrop = screen.getByRole('dialog').previousElementSibling expect(backdrop).not.toBeNull() fireEvent.click(backdrop!) expect(onClose).toHaveBeenCalledTimes(1) }) })