import {render, screen} from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import {describe, expect, it, vi} from 'vitest'; import PickerButton from './PickerButton'; describe('PickerButton', () => { it('shows the label', () => { render(); expect(screen.getByRole('button', {name: 'Add garden'})).toBeInTheDocument(); }); it('calls onClick when clicked', async () => { const onClick = vi.fn(); render(); await userEvent.click(screen.getByRole('button')); expect(onClick).toHaveBeenCalledTimes(1); }); it('is not a submit button', () => { render(); expect(screen.getByRole('button')).toHaveAttribute('type', 'button'); }); describe('with a sublabel', () => { it('bolds the label', () => { render(); expect(screen.getByText('Plant').tagName).toBe('B'); }); it('shows the sublabel', () => { render(); expect(screen.getByRole('button')).toHaveTextContent('Plantsomething'); }); }); });