import React from 'react'; import { render, fireEvent, screen, getAllByRole } from '@testing-library/react'; import { Select } from '../select'; const options = [ { label: 'Austria', value: 'AT' }, { label: 'Ireland', value: 'IE' }, { label: 'United States', value: 'US' } ]; describe('Select Component', () => { it('should render without throwing an error', () => { render(); const select = screen.getByRole('combobox'); const display = select.children[0]; expect(display.textContent).toBe(options[0].label); fireEvent.click(select); const selectOptions = getAllByRole(select, 'option'); fireEvent.click(selectOptions[0]); expect(display.textContent).toBe(options[0].label); }); it('should render a disabled', () => { render(); const select = screen.getByRole('combobox'); expect(select).toHaveClass('accent-primary'); }); it('should render a borderless', () => { render(); const errorMessage = screen.getByText(error.message); expect(errorMessage).toBeTruthy(); }); it('should be label', () => { const { getByText } = render( ); expect(getByText('Example Label')).toBeTruthy(); expect(getByText('*')).toBeTruthy(); }); it('should be icon', () => { const { container } = render( ); const svg = container.querySelector('svg'); expect(svg.getAttribute('height')).toBe(size.toString()); }); });