Add SIgn in form snapshot test
This commit is contained in:
145
src/components/SignInForm/__snapshots__/index.test.jsx.snap
Normal file
145
src/components/SignInForm/__snapshots__/index.test.jsx.snap
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`Sign In Form Should render 1`] = `
|
||||||
|
<div>
|
||||||
|
<main
|
||||||
|
class="MuiContainer-root MuiContainer-maxWidthXs"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="makeStyles-paper-1"
|
||||||
|
>
|
||||||
|
<h1
|
||||||
|
class="MuiTypography-root MuiTypography-h5"
|
||||||
|
>
|
||||||
|
Sign in
|
||||||
|
</h1>
|
||||||
|
<form
|
||||||
|
action="{onSubmit}"
|
||||||
|
class="makeStyles-form-3"
|
||||||
|
novalidate=""
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiFormControl-root MuiTextField-root MuiFormControl-marginNormal MuiFormControl-fullWidth"
|
||||||
|
>
|
||||||
|
<label
|
||||||
|
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined Mui-focused Mui-focused Mui-required Mui-required"
|
||||||
|
data-shrink="true"
|
||||||
|
for="email"
|
||||||
|
id="email-label"
|
||||||
|
>
|
||||||
|
Email Address
|
||||||
|
<span
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiFormLabel-asterisk MuiInputLabel-asterisk"
|
||||||
|
>
|
||||||
|
|
||||||
|
*
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<div
|
||||||
|
class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-fullWidth Mui-focused Mui-focused MuiInputBase-formControl"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
aria-invalid="false"
|
||||||
|
autocomplete="email"
|
||||||
|
class="MuiInputBase-input MuiOutlinedInput-input"
|
||||||
|
id="email"
|
||||||
|
name="email"
|
||||||
|
required=""
|
||||||
|
type="text"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<fieldset
|
||||||
|
aria-hidden="true"
|
||||||
|
class="PrivateNotchedOutline-root-5 MuiOutlinedInput-notchedOutline"
|
||||||
|
>
|
||||||
|
<legend
|
||||||
|
class="PrivateNotchedOutline-legendLabelled-7 PrivateNotchedOutline-legendNotched-8"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
Email Address
|
||||||
|
*
|
||||||
|
</span>
|
||||||
|
</legend>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="MuiFormControl-root MuiTextField-root MuiFormControl-marginNormal MuiFormControl-fullWidth"
|
||||||
|
>
|
||||||
|
<label
|
||||||
|
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-outlined Mui-required Mui-required"
|
||||||
|
data-shrink="false"
|
||||||
|
for="password"
|
||||||
|
id="password-label"
|
||||||
|
>
|
||||||
|
Password
|
||||||
|
<span
|
||||||
|
aria-hidden="true"
|
||||||
|
class="MuiFormLabel-asterisk MuiInputLabel-asterisk"
|
||||||
|
>
|
||||||
|
|
||||||
|
*
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
<div
|
||||||
|
class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-fullWidth MuiInputBase-formControl"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
aria-invalid="false"
|
||||||
|
autocomplete="current-password"
|
||||||
|
class="MuiInputBase-input MuiOutlinedInput-input"
|
||||||
|
id="password"
|
||||||
|
name="password"
|
||||||
|
required=""
|
||||||
|
type="password"
|
||||||
|
value=""
|
||||||
|
/>
|
||||||
|
<fieldset
|
||||||
|
aria-hidden="true"
|
||||||
|
class="PrivateNotchedOutline-root-5 MuiOutlinedInput-notchedOutline"
|
||||||
|
>
|
||||||
|
<legend
|
||||||
|
class="PrivateNotchedOutline-legendLabelled-7"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
Password
|
||||||
|
*
|
||||||
|
</span>
|
||||||
|
</legend>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-4 MuiButton-containedPrimary MuiButton-fullWidth"
|
||||||
|
tabindex="0"
|
||||||
|
type="submit"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="MuiButton-label"
|
||||||
|
>
|
||||||
|
Sign In
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
class="MuiTouchRipple-root"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root MuiGrid-container"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="MuiGrid-root MuiGrid-item"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiTypography-body2 MuiTypography-colorPrimary"
|
||||||
|
href="/signup"
|
||||||
|
>
|
||||||
|
Don't have an account? Sign Up
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
15
src/components/SignInForm/index.test.jsx
Normal file
15
src/components/SignInForm/index.test.jsx
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import React from "react";
|
||||||
|
import { BrowserRouter } from 'react-router-dom';
|
||||||
|
import {render, cleanup, screen, fireEvent, waitFor} from "@testing-library/react"
|
||||||
|
jest.mock("../Contexts/UserContext");
|
||||||
|
import { useUserContext, UserProvider } from "../Contexts/UserContext";
|
||||||
|
import SignInForm from './index';
|
||||||
|
|
||||||
|
describe("Sign In Form", () => {
|
||||||
|
|
||||||
|
it("Should render", () => {
|
||||||
|
const { container } = render(<BrowserRouter><SignInForm /></BrowserRouter>);
|
||||||
|
expect(container).toMatchSnapshot();
|
||||||
|
cleanup();
|
||||||
|
})
|
||||||
|
})
|
||||||
19
src/components/contexts/__mocks__/UserContext.jsx
Normal file
19
src/components/contexts/__mocks__/UserContext.jsx
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
export const UserProvider = ({ children }) => {
|
||||||
|
return (
|
||||||
|
<div data-testid="mocked-userprovider">
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useUserContext = () => ({
|
||||||
|
fetching: false,
|
||||||
|
token: null,
|
||||||
|
error: null,
|
||||||
|
setError: jest.fn(),
|
||||||
|
signIn: jest.fn(),
|
||||||
|
signUp: jest.fn(),
|
||||||
|
signOut: jest.fn(),
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user