From 1db3f1c83b49fbbc090d556f5e0b66b4cf4a33f5 Mon Sep 17 00:00:00 2001 From: Sean Jones Date: Tue, 13 Apr 2021 11:22:00 +0100 Subject: [PATCH] add more tests --- src/components/Loader/Loader.test.tsx | 14 +++++++++++ src/components/SiteHeader/SiteHeader.test.tsx | 23 +++++++++++++++++++ src/state/userProfile/selectors.test.ts | 16 +++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 src/components/Loader/Loader.test.tsx create mode 100644 src/components/SiteHeader/SiteHeader.test.tsx create mode 100644 src/state/userProfile/selectors.test.ts diff --git a/src/components/Loader/Loader.test.tsx b/src/components/Loader/Loader.test.tsx new file mode 100644 index 0000000..e5790af --- /dev/null +++ b/src/components/Loader/Loader.test.tsx @@ -0,0 +1,14 @@ +import React from "react"; +import { screen, render } from "@testing-library/react"; + +import Loader from "./Loader"; + +const setup = () => render(); + +describe("Loader", () => { + it("should display loading message", () => { + setup(); + const loadingText = screen.getByText("Loading..."); + expect(loadingText).toBeInTheDocument(); + }); +}); diff --git a/src/components/SiteHeader/SiteHeader.test.tsx b/src/components/SiteHeader/SiteHeader.test.tsx new file mode 100644 index 0000000..4776995 --- /dev/null +++ b/src/components/SiteHeader/SiteHeader.test.tsx @@ -0,0 +1,23 @@ +import React from "react"; +import { screen } from "@testing-library/react"; +import renderConnected from "utilities/test/renderConnected"; + +import SiteHeader from "./SiteHeader"; + +const setup = () => + renderConnected({ + ui: , + initialState: { + userProfile: { + username: "Steve", + }, + }, + }); + +describe("SiteHeader", () => { + it("should display logo", () => { + setup(); + const logoImg = screen.getByAltText("Company name"); + expect(logoImg).toBeInTheDocument(); + }); +}); diff --git a/src/state/userProfile/selectors.test.ts b/src/state/userProfile/selectors.test.ts new file mode 100644 index 0000000..603a424 --- /dev/null +++ b/src/state/userProfile/selectors.test.ts @@ -0,0 +1,16 @@ +import { getUsername } from "./selectors"; + +import { RootState } from "../rootReducer"; + +describe("UserProfile selectors", () => { + describe("getUsername", () => { + it("should return username", () => { + const state: RootState = { + userProfile: { + username: "Steve", + }, + }; + expect(getUsername(state)).toBe("Steve"); + }); + }); +});