/** * Component: Modal Component Tests * Documentation: documentation/frontend/components.md */ // @vitest-environment jsdom import { describe, expect, it, vi } from 'vitest'; import { fireEvent, render, screen } from '@testing-library/react'; import { Modal } from '@/components/ui/Modal'; describe('Modal', () => { it('locks body scroll while open and closes on escape', () => { const onClose = vi.fn(); const { unmount } = render(
Modal Content
); expect(screen.getByText('Modal Content')).toBeInTheDocument(); expect(document.body.style.overflow).toBe('hidden'); fireEvent.keyDown(document, { key: 'Escape' }); expect(onClose).toHaveBeenCalledTimes(1); unmount(); expect(document.body.style.overflow).toBe(''); // Cleared to default }); });