From 2b5366244982d6ddf4e4230078a106cc2f9265bd Mon Sep 17 00:00:00 2001
From: Tara Epp <102187683+taraepp@users.noreply.github.com>
Date: Wed, 26 Feb 2025 18:13:19 +0000
Subject: [PATCH] make core-web test run, remove tests that don't do anything
---
.../src/tests/components/Index.spec.js | 54 +++++--------------
1 file changed, 13 insertions(+), 41 deletions(-)
diff --git a/services/core-web/src/tests/components/Index.spec.js b/services/core-web/src/tests/components/Index.spec.js
index 7d47c22c2c..8eaa85b467 100644
--- a/services/core-web/src/tests/components/Index.spec.js
+++ b/services/core-web/src/tests/components/Index.spec.js
@@ -1,53 +1,25 @@
import React from "react";
-import { shallow } from "enzyme";
import { render } from "@testing-library/react";
import { Index } from "../../index";
-import Loading from "@/components/common/Loading";
-import { getKeycloakMock } from "../mocks/keycloakMocks";
import { MessageChannel } from "worker_threads";
window.MessageChannel = MessageChannel;
-// import { waitFor } from '@testing-library/react';
+jest.mock("@mds/common/keycloak", () => ({
+ default: {
+ token: "mocked-token",
+ },
+ keycloak: {
+ init: jest.fn(),
+ authenticated: Boolean,
+ login: jest.fn(),
+ tokenParsed: {
+ client_roles: []
+ }
+ }
+}));
-const stateSetter = jest.fn();
-
-// allows mock keycloak to have different properties in each test
-beforeEach(() => {
- jest.resetModules();
-});
-
-it("Index: redirects unauthenticated to login", async () => {
- getKeycloakMock(true, false);
- const component = shallow();
- jest
- .spyOn(React, "useState")
- .mockImplementation((stateValue) => [(stateValue = true), stateSetter]);
-
- // TODO: make this work
- // await waitFor(() => expect(getByText("MINES DIGITAL SERVICES (MDS) (PUBLIC CLIENT)")).toBeInTheDocument())
- // expect(component).toMatchSnapshot();
-});
it("Index: shows loading before keycloak is instantiated", () => {
const { container } = render();
expect(container).toMatchSnapshot();
});
-
-it("Index: token is automatically refreshed while user is active", () => {
- getKeycloakMock();
- const component = shallow();
- // modify the buffer time and idle timeout for a faster test -> 2 seconds?
- // mock an access token within keycloak -> set expiry for short period -> 5 seconds?
- // fire an action that registers as active (contenders: mousemove, keydown, focus)
- // it would try to refresh token after 3s (expiry - buffer)
- // EXPECT: handleUpdateToken was called
- // EXPECT: new token has different expiry
-});
-
-it("Index: token is not refreshed when user is not active", () => {
- getKeycloakMock();
- const component = shallow();
- // similar to above, but do not fire action
- // EXPECT: handleUpdateToken was not called
- // EXPECT: token is the same
-});