From ff96b437581a1df6d16f6302131b417028788df5 Mon Sep 17 00:00:00 2001
From: David Laganiere <40720561+davidlag0@users.noreply.github.com>
Date: Sun, 26 Feb 2023 10:07:52 -0500
Subject: [PATCH] test(Bar): add snapshot tests
---
frontend/__tests__/__mocks__/fileMock.js | 1 +
.../__tests__/unit/components/Bar.test.jsx | 47 ++++++++
.../__snapshots__/Bar.test.jsx.snap | 104 ++++++++++++++++++
frontend/jest.config.js | 3 +-
4 files changed, 154 insertions(+), 1 deletion(-)
create mode 100644 frontend/__tests__/__mocks__/fileMock.js
create mode 100644 frontend/__tests__/unit/components/Bar.test.jsx
create mode 100644 frontend/__tests__/unit/components/__snapshots__/Bar.test.jsx.snap
diff --git a/frontend/__tests__/__mocks__/fileMock.js b/frontend/__tests__/__mocks__/fileMock.js
new file mode 100644
index 0000000..0a445d0
--- /dev/null
+++ b/frontend/__tests__/__mocks__/fileMock.js
@@ -0,0 +1 @@
+module.exports = "test-file-stub";
diff --git a/frontend/__tests__/unit/components/Bar.test.jsx b/frontend/__tests__/unit/components/Bar.test.jsx
new file mode 100644
index 0000000..446d349
--- /dev/null
+++ b/frontend/__tests__/unit/components/Bar.test.jsx
@@ -0,0 +1,47 @@
+import { render } from "@testing-library/react";
+import Bar from "components/Bar";
+import { Router } from "react-router-dom";
+import { createMemoryHistory } from "history";
+
+// Useful reference: https://bholmes.dev/blog/mocking-browser-apis-fetch-localstorage-dates-the-easy-way-with-jest/
+
+let mockStorage = {};
+
+describe("Bar", () => {
+ beforeAll(() => {
+ global.Storage.prototype.getItem = jest.fn((key) => mockStorage[key]);
+ });
+
+ beforeEach(() => {
+ // make sure the fridge starts out empty for each test
+ mockStorage = {};
+ });
+
+ afterAll(() => {
+ global.Storage.prototype.getItem.mockReset();
+ });
+
+ it("renders Bar unchanged when logged out", () => {
+ const history = createMemoryHistory();
+ mockStorage["loggedIn"] = false;
+
+ const { container } = render(
+