import { render, screen } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; import { describe, expect, it, vi } from 'vitest'; import { Checkbox } from './Checkbox.tsx'; const TEST_ID = 'checkbox'; describe('Checkbox', () => { it('should render', () => { render(); expect(screen.getByTestId(TEST_ID)).toBeInTheDocument(); }); it('should contain a custom class name', () => { render(); expect(screen.getByTestId(TEST_ID)).toHaveClass('foo'); }); it('should function correctly', async () => { const handleCheckedChange = vi.fn(); render(); await userEvent.click(screen.getByTestId(TEST_ID)); expect(handleCheckedChange).toHaveBeenLastCalledWith(true); await userEvent.click(screen.getByTestId(TEST_ID)); expect(handleCheckedChange).toHaveBeenLastCalledWith(false); }); });