aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/molecules/forms/radio-group.test.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-06-01 22:37:56 +0200
committerGitHub <noreply@github.com>2022-06-01 22:37:56 +0200
commit0a33a4658d848fe056715c6da053763407845b2a (patch)
tree7c679e54ba4bbadaf0a59bbde780f5742e3b875d /src/components/molecules/forms/radio-group.test.tsx
parent97031a86ca38890e60ecec79828498b7bb13cbfa (diff)
parent6be20422494e3806fba3d1c5ad5c3e98bd6e67e5 (diff)
chore(a11y): improve website settings accessibility (#17)
The previous switch buttons (using checkbox) was not a11y compliant. So I change my approach to use radio buttons and to clearly separate the two different states. I also convert the Ackee select setting to improve consistency between settings.
Diffstat (limited to 'src/components/molecules/forms/radio-group.test.tsx')
-rw-r--r--src/components/molecules/forms/radio-group.test.tsx30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/components/molecules/forms/radio-group.test.tsx b/src/components/molecules/forms/radio-group.test.tsx
new file mode 100644
index 0000000..8171a49
--- /dev/null
+++ b/src/components/molecules/forms/radio-group.test.tsx
@@ -0,0 +1,30 @@
+import { render, screen } from '@test-utils';
+import RadioGroup from './radio-group';
+import { getOptions, initialChoice, legend } from './radio-group.fixture';
+
+describe('RadioGroup', () => {
+ it('renders a legend', () => {
+ render(
+ <RadioGroup
+ initialChoice={initialChoice}
+ legend={legend}
+ options={getOptions()}
+ />
+ );
+ expect(screen.findByRole('radiogroup', { name: legend })).toBeDefined();
+ });
+
+ it('renders the correct number of radio', () => {
+ const options = getOptions();
+
+ render(
+ <RadioGroup
+ initialChoice={initialChoice}
+ legend={legend}
+ options={options}
+ />
+ );
+ const radios = screen.getAllByRole('radio');
+ expect(radios).toHaveLength(options.length);
+ });
+});