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

---
 .../forms/labelled-field/labelled-field.test.tsx   | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 src/components/molecules/forms/labelled-field/labelled-field.test.tsx

(limited to 'src/components/molecules/forms/labelled-field/labelled-field.test.tsx')

diff --git a/src/components/molecules/forms/labelled-field/labelled-field.test.tsx b/src/components/molecules/forms/labelled-field/labelled-field.test.tsx
new file mode 100644
index 0000000..9e39e1f
--- /dev/null
+++ b/src/components/molecules/forms/labelled-field/labelled-field.test.tsx
@@ -0,0 +1,32 @@
+import { render, screen } from '../../../../../tests/utils';
+import { Input, Label } from '../../../atoms';
+import { LabelledField } from './labelled-field';
+
+const doNothing = () => {
+  // Do nothing
+};
+
+describe('LabelledField', () => {
+  it('renders a labelled field', () => {
+    const id = 'enim';
+    const label = 'eum aliquam culpa';
+    const value = 'vitae';
+
+    render(
+      <LabelledField
+        field={
+          <Input
+            id={id}
+            name="text-field"
+            onChange={doNothing}
+            type="text"
+            value={value}
+          />
+        }
+        label={<Label htmlFor={id}>{label}</Label>}
+      />
+    );
+    expect(screen.getByLabelText(label)).toBeInTheDocument();
+    expect(screen.getByRole('textbox')).toHaveValue(value);
+  });
+});
-- 
cgit v1.2.3

