import { h } from 'preact'; import Select from '../Select'; import { fireEvent, render, screen } from '@testing-library/preact'; describe('Select', () => { test('on focus, shows a menu', async () => { const handleChange = vi.fn(); render( ); expect(screen.queryByRole('listbox')).not.toBeInTheDocument(); const input = screen.getByRole('textbox'); fireEvent.focus(input); fireEvent.keyDown(input, { key: 'Enter', code: 'Enter' }); expect(screen.queryByRole('listbox')).toBeInTheDocument(); fireEvent.keyDown(input, { key: 'ArrowDown', code: 'ArrowDown' }); fireEvent.keyDown(input, { key: 'Enter', code: 'Enter' }); expect(handleChange).toHaveBeenCalledWith({ dinner: 'burritos' }); }); });