From 8931a780aa6572f4942ba238c0e5f4f579b92098 Mon Sep 17 00:00:00 2001 From: David Laganiere <40720561+davidlag0@users.noreply.github.com> Date: Sun, 15 Jan 2023 10:39:35 -0500 Subject: [PATCH] test: reorganize folder structure and files The specific test files used for snapshots only have been integrated in each component's test file so that all tests, including the snapshot are located in a single test file. Also as more tests were added, it seems like a better idea to have test data in a separate file on its own rather than import test data from another test file. FInally, with all these changes, Jest wanted to have snapshots taken again thus why the snapshot files were updated too. --- .../network.jsx} | 25 ---------------- .../__tests__/unit/HomeLoggedOut.snapshot.jsx | 7 ----- .../__tests__/unit/NetworkHeader.snapshot.jsx | 8 ----- .../{ => components}/HomeLoggedOut.test.jsx | 11 +++++-- .../unit/components/NetworkHeader.test.jsx | 30 +++++++++++++++++++ .../HomeLoggedOut.test.jsx.snap} | 2 +- .../NetworkHeader.test.jsx.snap} | 2 +- 7 files changed, 41 insertions(+), 44 deletions(-) rename frontend/__tests__/{unit/NetworkHeader.test.jsx => data/network.jsx} (74%) delete mode 100644 frontend/__tests__/unit/HomeLoggedOut.snapshot.jsx delete mode 100644 frontend/__tests__/unit/NetworkHeader.snapshot.jsx rename frontend/__tests__/unit/{ => components}/HomeLoggedOut.test.jsx (89%) create mode 100644 frontend/__tests__/unit/components/NetworkHeader.test.jsx rename frontend/__tests__/unit/{__snapshots__/HomeLoggedOut.snapshot.jsx.snap => components/__snapshots__/HomeLoggedOut.test.jsx.snap} (91%) rename frontend/__tests__/unit/{__snapshots__/NetworkHeader.snapshot.jsx.snap => components/__snapshots__/NetworkHeader.test.jsx.snap} (87%) diff --git a/frontend/__tests__/unit/NetworkHeader.test.jsx b/frontend/__tests__/data/network.jsx similarity index 74% rename from frontend/__tests__/unit/NetworkHeader.test.jsx rename to frontend/__tests__/data/network.jsx index 243ec50..9d7d87a 100644 --- a/frontend/__tests__/unit/NetworkHeader.test.jsx +++ b/frontend/__tests__/data/network.jsx @@ -1,6 +1,3 @@ -import { render, screen } from "@testing-library/react"; -import NetworkHeader from "components/NetworkHeader"; - export const testNetwork = { id: "0d303702cd0f1fc6", clock: 1672834445703, @@ -73,25 +70,3 @@ export const testNetwork = { }, }, }; - -describe("NetworkHeader", () => { - test("renders NetworkHeader with a test network", () => { - render(); - - const networkId = screen.getByRole("heading", { - name: "0d303702cd0f1fc6", - level: 5, - }); - - const networkName = screen.getByRole("heading", { - name: "new-net-11166", - level: 6, - }); - - const networkDescription = screen.getByText(/Test Network/); - - expect(networkId).toBeInTheDocument(); - expect(networkName).toBeInTheDocument(); - expect(networkDescription).toBeInTheDocument(); - }); -}); diff --git a/frontend/__tests__/unit/HomeLoggedOut.snapshot.jsx b/frontend/__tests__/unit/HomeLoggedOut.snapshot.jsx deleted file mode 100644 index 0749d1a..0000000 --- a/frontend/__tests__/unit/HomeLoggedOut.snapshot.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import { render } from "@testing-library/react"; -import HomeLoggedOut from "components/HomeLoggedOut"; - -it("renders HomeLoggedOut unchanged", () => { - const { container } = render(); - expect(container).toMatchSnapshot(); -}); diff --git a/frontend/__tests__/unit/NetworkHeader.snapshot.jsx b/frontend/__tests__/unit/NetworkHeader.snapshot.jsx deleted file mode 100644 index 10a8186..0000000 --- a/frontend/__tests__/unit/NetworkHeader.snapshot.jsx +++ /dev/null @@ -1,8 +0,0 @@ -import { render } from "@testing-library/react"; -import NetworkHeader from "components/NetworkHeader"; -import { testNetwork } from "./NetworkHeader.test"; - -it("renders HomeLoggedOut unchanged", () => { - const { container } = render(); - expect(container).toMatchSnapshot(); -}); diff --git a/frontend/__tests__/unit/HomeLoggedOut.test.jsx b/frontend/__tests__/unit/components/HomeLoggedOut.test.jsx similarity index 89% rename from frontend/__tests__/unit/HomeLoggedOut.test.jsx rename to frontend/__tests__/unit/components/HomeLoggedOut.test.jsx index 0ce149c..7ff0721 100644 --- a/frontend/__tests__/unit/HomeLoggedOut.test.jsx +++ b/frontend/__tests__/unit/components/HomeLoggedOut.test.jsx @@ -6,10 +6,15 @@ import { act } from "react-dom/test-utils"; import axios from "axios"; import MockAdapter from "axios-mock-adapter"; -let mock = new MockAdapter(axios); - describe("HomeLoggedOut", () => { + it("renders HomeLoggedOut unchanged", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); + test("renders HomeLoggedOut when authentication is enabled", () => { + let mock = new MockAdapter(axios); + const history = createMemoryHistory(); const goSpy = jest.spyOn(history, "go"); @@ -33,6 +38,8 @@ describe("HomeLoggedOut", () => { }); test("renders HomeLoggedOut when authentication is disabled", async () => { + let mock = new MockAdapter(axios); + const history = createMemoryHistory(); const goSpy = jest.spyOn(history, "go"); diff --git a/frontend/__tests__/unit/components/NetworkHeader.test.jsx b/frontend/__tests__/unit/components/NetworkHeader.test.jsx new file mode 100644 index 0000000..52d0171 --- /dev/null +++ b/frontend/__tests__/unit/components/NetworkHeader.test.jsx @@ -0,0 +1,30 @@ +import { render, screen } from "@testing-library/react"; +import NetworkHeader from "components/NetworkHeader"; +import { testNetwork } from "../../data/network"; + +describe("NetworkHeader", () => { + it("renders NetworkHeader unchanged", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); + + test("renders NetworkHeader with a test network", () => { + render(); + + const networkId = screen.getByRole("heading", { + name: "0d303702cd0f1fc6", + level: 5, + }); + + const networkName = screen.getByRole("heading", { + name: "new-net-11166", + level: 6, + }); + + const networkDescription = screen.getByText(/Test Network/); + + expect(networkId).toBeInTheDocument(); + expect(networkName).toBeInTheDocument(); + expect(networkDescription).toBeInTheDocument(); + }); +}); diff --git a/frontend/__tests__/unit/__snapshots__/HomeLoggedOut.snapshot.jsx.snap b/frontend/__tests__/unit/components/__snapshots__/HomeLoggedOut.test.jsx.snap similarity index 91% rename from frontend/__tests__/unit/__snapshots__/HomeLoggedOut.snapshot.jsx.snap rename to frontend/__tests__/unit/components/__snapshots__/HomeLoggedOut.test.jsx.snap index 8afbec2..28452c9 100644 --- a/frontend/__tests__/unit/__snapshots__/HomeLoggedOut.snapshot.jsx.snap +++ b/frontend/__tests__/unit/components/__snapshots__/HomeLoggedOut.test.jsx.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`renders HomeLoggedOut unchanged 1`] = ` +exports[`HomeLoggedOut renders HomeLoggedOut unchanged 1`] = `