From 67cbb16c8d7b301e6c0de7e0b266d0a62b25eb69 Mon Sep 17 00:00:00 2001 From: Anton Schwarz Date: Mon, 10 Jul 2023 13:48:02 +0200 Subject: [PATCH] Fixed tests --- .vscode/settings.json | 2 +- test/component/ListDID.test.tsx | 35 +++++--------------------------- test/component/Login.test.tsx | 6 +++--- test/component/PageRule.test.tsx | 8 ++------ 4 files changed, 11 insertions(+), 40 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index feda6c370..4a19a8d9e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, - "jest.jestCommandLine": "npm run test:api -- --watch" + "jest.jestCommandLine": "npm run test:component -- --watch" } \ No newline at end of file diff --git a/test/component/ListDID.test.tsx b/test/component/ListDID.test.tsx index 39c45d89f..4a3533e99 100644 --- a/test/component/ListDID.test.tsx +++ b/test/component/ListDID.test.tsx @@ -5,15 +5,14 @@ import { render, act, screen, cleanup, fireEvent } from "@testing-library/react"; import { ListDID as ListDIDStory } from "@/component-library/components/Pages/ListDID/ListDID"; import { DIDMeta } from "@/lib/core/entity/rucio"; -import { createDID } from "test/fixtures/table-fixtures"; +import { createDID, createDIDMeta, mockUseComDOM } from "test/fixtures/table-fixtures"; var format = require("date-format") describe("ListDID Story Test", () => { it("Checks empty render of the story", async () => { await act(async () => render( console.log(x))} - didResponse={{ data: [], fetchStatus: "idle" }} + comdom={mockUseComDOM(Array.from({length: 0}, () => createDID()))} didMetaQuery={jest.fn(x => console.log(x))} didMetaQueryResponse={{} as DIDMeta} /> @@ -60,39 +59,15 @@ describe("ListDID Story Test", () => { SOLUTION: remove `aria-label` from the table rows, grab table rows differently. */ - const arrayLength = 5 - const mockDIDMeta = { - "name": "dataset-YSytZjXJMdiCsSiiUwXx", - "scope": "Lawrence.Myers", - "account": "Lawrence_Myers", - "did_type": "Dataset", - "created_at": new Date(2021, 3), - "updated_at": new Date(2022, 10), - "availability": "Deleted", - "obsolete": false, - "hidden": true, - "suppressed": true, - "purge_replicas": true, - "monotonic": true, - "is_open": true, - "adler32": null, - "guid": null, - "md5": null, - "filesize": null - } as DIDMeta + const mockDIDMeta = createDIDMeta() await act(async () => render( console.log(x))} - didResponse={{ - data: Array.from({length: arrayLength}, (v, k) => createDID()), fetchStatus: "idle" - }} + comdom={mockUseComDOM(Array.from({length: 100}, () => createDID()))} didMetaQuery={jest.fn(x => console.log(x))} didMetaQueryResponse={mockDIDMeta} /> )) const tableRows = screen.getAllByRole("row", {selected: false}) - expect(tableRows).toHaveLength(arrayLength) - expect(tableRows[0]).toBeInTheDocument() // check that metaview is still invisible const noDIDSelectedDiv = screen.getByText("No DID selected").closest("div") expect(noDIDSelectedDiv).toHaveClass("block") @@ -104,7 +79,7 @@ describe("ListDID Story Test", () => { const goDIDViewButton = screen.getByRole("generic", { name: "Go To DID Page" }) expect(goDIDViewButton).toHaveClass("block") const didCreationRow = screen.getByRole("row", { name: "Date of DID Creation" }) - expect(didCreationRow).toHaveTextContent(format("yyyy-MM-dd", mockDIDMeta.created_at)) + expect(didCreationRow).toHaveTextContent(format("yyyy-MM-dd", new Date(mockDIDMeta.created_at))) const didObsoleteRow = screen.getByRole("row", { name: "DID Obsolete" }) expect(didObsoleteRow).toHaveTextContent(mockDIDMeta.obsolete ? "True" : "False") }) diff --git a/test/component/Login.test.tsx b/test/component/Login.test.tsx index 38e0b5d40..62e908a0c 100644 --- a/test/component/Login.test.tsx +++ b/test/component/Login.test.tsx @@ -53,7 +53,7 @@ describe("Login Page Test", () => { const OIDCButton = screen.getByText(provider.name) expect(OIDCButton).toBeInTheDocument() }) - const oidcParent = screen.getByTestId('oidc-buttons') + const oidcParent = screen.getByRole('generic', {name: /OIDC Login Buttons/}) expect(oidcParent.className).not.toContain('hidden') // Check VO tabs are rendered @@ -79,7 +79,7 @@ describe("Login Page Test", () => { expect(loginFormParent.className).toContain('hidden') // check only 1 account field is rendered - const accountFieldParent = screen.getByRole("group", {name: "Account Fields"}) + const accountFieldParent = screen.getByRole("group", {name: /Choose Account Name/}) expect(accountFieldParent.className).not.toContain('hidden') fireEvent.click(userpassButton) expect(accountFieldParent.className).toContain('hidden') @@ -107,7 +107,7 @@ describe("Login Page Test", () => { await act( async () => render()) // Check OIDC buttons: 2 pieces and collapsed - const oidcParent = screen.getByTestId('oidc-buttons') + const oidcParent = screen.getByRole('generic', {name: /OIDC Login Buttons/}) expect(oidcParent.className).toContain('hidden') }) diff --git a/test/component/PageRule.test.tsx b/test/component/PageRule.test.tsx index 6dbf6e3d0..7026656e2 100644 --- a/test/component/PageRule.test.tsx +++ b/test/component/PageRule.test.tsx @@ -5,7 +5,7 @@ import { render, act, screen, cleanup, fireEvent, getByRole } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { PageRule as PageRuleStory } from "@/component-library/components/Pages/PageRule/PageRule"; -import { createRuleMeta } from "test/fixtures/table-fixtures"; +import { createRandomRulePageLockEntry, createRuleMeta, mockUseComDOM } from "test/fixtures/table-fixtures"; var format = require("date-format") const ruleMeta = createRuleMeta() @@ -15,11 +15,7 @@ describe("PageRule Story Test", () => { await act(async () => render( createRandomRulePageLockEntry()))} /> )) const user = userEvent.setup()