diff --git a/tests/unit/elements/inputRadio.test.ts b/tests/unit/elements/inputRadio.test.ts index de87b6aef..1b7387be9 100644 --- a/tests/unit/elements/inputRadio.test.ts +++ b/tests/unit/elements/inputRadio.test.ts @@ -1,6 +1,7 @@ import '@testing-library/jest-dom'; -import { render } from '@testing-library/svelte'; +import { render, fireEvent } from '@testing-library/svelte'; import { InputRadio } from '../../../src/lib/elements/forms'; +import radioGroup from './radioGroup.test.svelte'; const data = { id: 'radio', @@ -28,4 +29,25 @@ test('shows boolean input - disabled', () => { expect(getByRole('radio')).toBeDisabled(); }); -//TODO: create group of radio inputs and test state +test('state', async () => { + const { getByLabelText } = render(radioGroup); + + const one = getByLabelText('one'); + const two = getByLabelText('two'); + const three = getByLabelText('three'); + + await fireEvent.click(one); + expect(one).toBeChecked(); + expect(two).not.toBeChecked(); + expect(three).not.toBeChecked(); + + await fireEvent.click(two); + expect(one).not.toBeChecked(); + expect(two).toBeChecked(); + expect(three).not.toBeChecked(); + + await fireEvent.click(three); + expect(one).not.toBeChecked(); + expect(two).not.toBeChecked(); + expect(three).toBeChecked(); +}); diff --git a/tests/unit/elements/radioGroup.test.svelte b/tests/unit/elements/radioGroup.test.svelte new file mode 100644 index 000000000..9b4f5bdfa --- /dev/null +++ b/tests/unit/elements/radioGroup.test.svelte @@ -0,0 +1,7 @@ + + + + +