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`] = `