import { test, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import RadioButton, { RadioGroup } from '../RadioButton'; test('radio group renders correctly', () => { render( ); const radioGroup = screen.getByTestId('radiogroup'); expect(radioGroup).toHaveClass('ds_radios', 'ds_field-group'); expect(radioGroup).not.toHaveClass('ds_field-group--inline'); const radio = screen.getByRole('radio'); const radioContainer = radio.parentElement; expect(radioContainer).not.toHaveClass('ds_radio--small'); }); test('radio group passes all expected item params', () => { const RADIO_NAME = 'radioname'; render(

foo

); const radio = screen.getByRole('radio'); const radioContainer = radio.parentElement; expect(radio).toHaveAttribute('name', RADIO_NAME); expect(radioContainer).toHaveClass('ds_radio--small'); }); test('inline radio group', () => { render( ); const radio = screen.getAllByRole('radio')[0]; const groupContainer = radio.parentElement?.parentElement; expect(groupContainer).toHaveClass('ds_field-group--inline'); }); test('passing additional props', () => { render( ); const radioGroup = screen.getByTestId('radiogroup'); expect(radioGroup?.dataset.test).toEqual('foo'); }); test('passing additional CSS classes', () => { render( ); const radioGroup = screen.getByTestId('radiogroup'); expect(radioGroup).toHaveClass('foo'); });