Skip to content

Commit cebc50f

Browse files
author
Said Shah
committed
Added tests for checkbox form field
1 parent 61ffc08 commit cebc50f

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

src/molecules/form-fields/checkbox-form-field.test.tsx

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from "react";
2-
import { render } from "@testing-library/react";
2+
import { render, fireEvent } from "@testing-library/react";
33
import { CheckboxFormField } from "./checkbox-form-field";
44
import faker from "faker";
55

@@ -20,4 +20,44 @@ describe("CheckboxFormField", () => {
2020
// Assert
2121
expect(getByLabelText(expected)).not.toBeNull();
2222
});
23+
24+
test("when errorsMessage prop set, renders with error message", () => {
25+
// Arrange
26+
const expected = faker.random.words();
27+
const testErrorMessage = "testErrorMessage";
28+
29+
// Act
30+
const { getByText } = render(
31+
<CheckboxFormField
32+
checked={false}
33+
label={expected}
34+
onChange={() => {}}
35+
errorMessage={testErrorMessage}
36+
/>
37+
);
38+
39+
// Assert
40+
expect(getByText(testErrorMessage)).not.toBeNil();
41+
});
42+
43+
test("when onChange set, calls handler upon change", () => {
44+
// Arrange
45+
let isChecked = false;
46+
const expected = faker.random.word();
47+
const handleChange = () => (isChecked = true);
48+
49+
// Act
50+
const { getByText } = render(
51+
<CheckboxFormField
52+
checked={isChecked}
53+
label={expected}
54+
onChange={handleChange}
55+
/>
56+
);
57+
58+
fireEvent.click(getByText(expected));
59+
60+
// Assert
61+
expect(isChecked).toBeTrue();
62+
});
2363
});

0 commit comments

Comments
 (0)