From a6ff5eee45215effb3344cb5d631a27a7c0369aa Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Fri, 22 Sep 2023 19:34:01 +0200
Subject: refactor(components): rewrite form components

---
 .../atoms/forms/fields/select/select.test.tsx      | 43 ++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 src/components/atoms/forms/fields/select/select.test.tsx

(limited to 'src/components/atoms/forms/fields/select/select.test.tsx')

diff --git a/src/components/atoms/forms/fields/select/select.test.tsx b/src/components/atoms/forms/fields/select/select.test.tsx
new file mode 100644
index 0000000..088cc9e
--- /dev/null
+++ b/src/components/atoms/forms/fields/select/select.test.tsx
@@ -0,0 +1,43 @@
+import { render, screen } from '../../../../../../tests/utils';
+import { Select } from './select';
+
+const doNothing = () => {
+  // do nothing
+};
+
+const selectOptions = [
+  { id: 'option1', name: 'Option 1', value: 'option1' },
+  { id: 'option2', name: 'Option 2', value: 'option2' },
+  { id: 'option3', name: 'Option 3', value: 'option3' },
+];
+const selected = selectOptions[0];
+
+describe('Select', () => {
+  it('should correctly set default option', () => {
+    render(
+      <Select
+        id="select-1"
+        name="select-1"
+        onChange={doNothing}
+        options={selectOptions}
+        value={selected.value}
+      />
+    );
+
+    expect(screen.getByRole('combobox')).toHaveValue(selected.value);
+  });
+
+  it('renders the select options', () => {
+    render(
+      <Select
+        id="select-2"
+        name="select-2"
+        onChange={doNothing}
+        options={selectOptions}
+        value={selected.value}
+      />
+    );
+
+    expect(screen.getAllByRole('option')).toHaveLength(selectOptions.length);
+  });
+});
-- 
cgit v1.2.3

