Skip to content

Commit bafa7ce

Browse files
committed
feat(user-signup): [next-ts-middle-out] 🔴 test form error
1 parent e1b0b00 commit bafa7ce

File tree

1 file changed

+21
-0
lines changed
  • exercises/user_signup/solutions/codely_next-typescript-middle-out/tests/unit

1 file changed

+21
-0
lines changed

exercises/user_signup/solutions/codely_next-typescript-middle-out/tests/unit/SignUpForm.spec.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,25 @@ describe("SignUpForm component", () => {
2929
expect(successMessage).toBeInTheDocument();
3030
expect(mockSignUpUser).toHaveBeenCalledWith({ name, email })
3131
});
32+
33+
it("displays error message after submission fails", async () => {
34+
render(<SignUpForm />);
35+
mockSignUpUser.mockRejectedValue(new Error());
36+
37+
const nameField = screen.getByLabelText(/name/i);
38+
const emailField = screen.getByLabelText(/email/i);
39+
40+
const name = "Jane Doe";
41+
const email = "jane@gmail.com";
42+
43+
userEvent.type(nameField, name)
44+
userEvent.type(emailField, email)
45+
46+
const button = screen.getByRole("button", { name: /submit/i })
47+
userEvent.click(button)
48+
49+
const errorMessage = await screen.findByText(/an error ocurred/i)
50+
51+
expect(errorMessage).toBeInTheDocument();
52+
});
3253
});

0 commit comments

Comments
 (0)