From 93eea91ae603dc3c75318925cc8c3e004c3c0dd0 Mon Sep 17 00:00:00 2001 From: Deepak Date: Sun, 24 Jan 2021 13:15:32 -0600 Subject: [PATCH] Adds test for register.jsx and snapshot --- src/components/Register-snapshot.test.jsx | 13 +++++ src/components/Register.test.jsx | 24 +++++++++ .../Register-snapshot.test.jsx.snap | 52 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 src/components/Register-snapshot.test.jsx create mode 100644 src/components/Register.test.jsx create mode 100644 src/components/__snapshots__/Register-snapshot.test.jsx.snap diff --git a/src/components/Register-snapshot.test.jsx b/src/components/Register-snapshot.test.jsx new file mode 100644 index 0000000..9626a06 --- /dev/null +++ b/src/components/Register-snapshot.test.jsx @@ -0,0 +1,13 @@ +import React from "react"; +import renderer from "react-test-renderer"; +import Register from "./Register"; + +test("Register Snapshot", () => { + const registerFunc = jest.fn(); + + const register = renderer.create(); + + const tree = register.toJSON(); + + expect(tree).toMatchSnapshot(); +}); diff --git a/src/components/Register.test.jsx b/src/components/Register.test.jsx new file mode 100644 index 0000000..babca25 --- /dev/null +++ b/src/components/Register.test.jsx @@ -0,0 +1,24 @@ +import React from "react"; +import { render } from "@testing-library/react"; +import userEvent from "@testing-library/user-event"; +import Register from "./Register"; + +test("Register inputs", () => { + const registerFunc = jest.fn(); + const register = render(); + + const usernameInput = register.getByRole("textbox", { name: /Username/ }); + const displayNameInput = register.getByRole("textbox", { name: /Name/ }) + const passwordInput = register.getByLabelText("Password"); + const buttonInput = register.getByRole("button", { name: /Sign me up/i }); + + const username = "here's a username"; + const displayName = "testing this is a display name for a person"; + const pw = "here's a password"; + + userEvent.type(usernameInput, username); + userEvent.type(displayNameInput, displayName) + userEvent.type(passwordInput, pw); + userEvent.click(buttonInput); + expect(registerFunc).toHaveBeenCalledWith(username, displayName, pw); +}); diff --git a/src/components/__snapshots__/Register-snapshot.test.jsx.snap b/src/components/__snapshots__/Register-snapshot.test.jsx.snap new file mode 100644 index 0000000..24fb5d7 --- /dev/null +++ b/src/components/__snapshots__/Register-snapshot.test.jsx.snap @@ -0,0 +1,52 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Register Snapshot 1`] = ` +
+

+ Enter your data to register. +

+
+ + + +
+ +
+
+
+`;