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 -});