import React from 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; import FloatingPopup from './FloatingPopup'; describe('FloatingPopup', () => { it('closes on outside click and escape', () => { const onClose = vi.fn(); render(
Toggle} >
Popup body
); expect(screen.getByRole('dialog')).toBeInTheDocument(); fireEvent.mouseDown(screen.getByRole('button', { name: 'Outside' })); fireEvent.keyDown(document, { key: 'Escape' }); expect(onClose).toHaveBeenCalledTimes(2); }); });