import React from 'react'; import { render, screen } from '@testing-library/react'; import { Select } from '../Select'; import { Field } from './Field'; describe('Field', () => { it('renders correctly', () => { render(); expect(screen.getByRole('textbox')).toBeVisible(); expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Placeholder'); }); it('renders with a label', () => { render(); expect(screen.getByRole('textbox')).toBeVisible(); expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Placeholder'); expect(screen.getByText('Label')).toBeVisible(); }); it('renders with an error', () => { render(); expect(screen.getByRole('textbox')).toBeVisible(); expect(screen.getByRole('textbox')).toHaveClass('TextInput--error'); expect(screen.getByText('Error')).toBeVisible(); }); it('renders with ); expect(screen.getByRole('button', { name: /Sort by/ })).toBeVisible(); }); it('renders with a className', () => { render( ); expect(screen.getByRole('textbox')).toBeVisible(); // eslint-disable-next-line testing-library/no-node-access expect(screen.getByRole('textbox').parentNode?.parentNode).toHaveClass('Custom'); }); it('supports custom children', () => { render(