From 3def62cd8dbb266220a47a37efe8a563d531c58c Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 27 Apr 2022 11:21:09 -0400 Subject: [PATCH] fix tests from rebase Signed-off-by: Sebastian Malton --- package.json | 1 - .../navigation-using-application-menu.test.ts | 5 +- ...and-tab-navigation-for-extensions.test.tsx | 31 ++- ...-characters-in-page-registrations.test.tsx | 13 +- .../navigate-to-extension-page.test.tsx | 11 +- .../closing-preferences.test.tsx.snap | 52 ++--- ...on-to-application-preferences.test.ts.snap | 22 +-- ...igation-to-editor-preferences.test.ts.snap | 36 ++-- ...tension-specific-preferences.test.tsx.snap | 54 ++--- ...ion-to-kubernetes-preferences.test.ts.snap | 36 ++-- ...vigation-to-proxy-preferences.test.ts.snap | 22 +-- ...ion-to-telemetry-preferences.test.tsx.snap | 56 +++--- ...ation-to-terminal-preferences.test.ts.snap | 30 +-- ...gation-using-application-menu.test.ts.snap | 14 +- ...to-extension-specific-preferences.test.tsx | 26 +-- ...vigation-to-telemetry-preferences.test.tsx | 35 ++-- src/common/k8s-api/__tests__/kube-api.test.ts | 6 +- src/common/utils/__tests__/iter.test.ts | 26 ++- src/common/utils/iter.ts | 83 +++----- src/extensions/lens-extension.ts | 7 +- src/extensions/lens-main-extension.ts | 6 +- src/extensions/lens-renderer-extension.ts | 12 +- .../protocol-handler/__test__/router.test.ts | 22 +-- .../+config-secrets/add-secret-dialog.tsx | 2 +- .../deployment-details.tsx | 12 +- src/renderer/components/icon/icon.tsx | 184 +++++++++--------- .../kube-object-menu.test.tsx | 5 +- .../kube-object-meta/kube-object-meta.tsx | 20 +- src/renderer/components/select/select.tsx | 2 + .../components/status-brick/status-brick.tsx | 5 +- .../test-utils/get-renderer-extension-fake.ts | 53 +++-- .../components/tooltip/withTooltip.tsx | 13 +- src/renderer/utils/cssNames.ts | 4 +- 33 files changed, 457 insertions(+), 449 deletions(-) diff --git a/package.json b/package.json index 219eb4dc67..0fb4d1dcbe 100644 --- a/package.json +++ b/package.json @@ -364,7 +364,6 @@ "flex.box": "^3.4.4", "fork-ts-checker-webpack-plugin": "^6.5.0", "gunzip-maybe": "^1.4.2", - "hoist-non-react-statics": "^3.3.2", "html-webpack-plugin": "^5.5.0", "identity-obj-proxy": "^3.0.0", "ignore-loader": "^0.1.2", diff --git a/src/behaviours/add-cluster/navigation-using-application-menu.test.ts b/src/behaviours/add-cluster/navigation-using-application-menu.test.ts index cc7749a7e9..a54d803a88 100644 --- a/src/behaviours/add-cluster/navigation-using-application-menu.test.ts +++ b/src/behaviours/add-cluster/navigation-using-application-menu.test.ts @@ -9,7 +9,10 @@ import { getApplicationBuilder } from "../../renderer/components/test-utils/get- import isAutoUpdateEnabledInjectable from "../../main/is-auto-update-enabled.injectable"; // TODO: Make components free of side effects by making them deterministic -jest.mock("../../renderer/components/tooltip"); +jest.mock("../../renderer/components/tooltip/tooltip"); +jest.mock("../../renderer/components/tooltip/withTooltip", () => ({ + withTooltip: (target: any) => target, +})); jest.mock("../../renderer/components/monaco-editor/monaco-editor"); describe("add-cluster - navigation using application menu", () => { diff --git a/src/behaviours/cluster/sidebar-and-tab-navigation-for-extensions.test.tsx b/src/behaviours/cluster/sidebar-and-tab-navigation-for-extensions.test.tsx index 52704fd503..97dd60ef78 100644 --- a/src/behaviours/cluster/sidebar-and-tab-navigation-for-extensions.test.tsx +++ b/src/behaviours/cluster/sidebar-and-tab-navigation-for-extensions.test.tsx @@ -5,8 +5,6 @@ import React from "react"; import type { RenderResult } from "@testing-library/react"; import { fireEvent } from "@testing-library/react"; -import { getRendererExtensionFake } from "../../renderer/components/test-utils/get-renderer-extension-fake"; -import { LensRendererExtension } from "../../extensions/lens-renderer-extension"; import directoryForLensLocalStorageInjectable from "../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable"; import routesInjectable from "../../renderer/routes/routes.injectable"; import { matches } from "lodash/fp"; @@ -19,6 +17,8 @@ import type { DiContainer } from "@ogre-tools/injectable"; import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token"; import assert from "assert"; import { getSidebarItem } from "../utils"; +import type { FakeExtensionData } from "../../renderer/components/test-utils/get-renderer-extension-fake"; +import { getRendererExtensionFakeFor } from "../../renderer/components/test-utils/get-renderer-extension-fake"; describe("cluster - sidebar and tab navigation for extensions", () => { let applicationBuilder: ApplicationBuilder; @@ -43,6 +43,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => { describe("given extension with cluster pages and cluster page menus", () => { beforeEach(async () => { + const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder); const testExtension = getRendererExtensionFake(extensionStubWithSidebarItems); await applicationBuilder.addExtensions(testExtension); @@ -383,8 +384,10 @@ describe("cluster - sidebar and tab navigation for extensions", () => { }); }); -const extensionStubWithSidebarItems = new (class extends LensRendererExtension { - clusterPages = [ +const extensionStubWithSidebarItems: FakeExtensionData = { + id: "some-extension-id", + name: "some-extension-name", + clusterPages: [ { components: { Page: () => { @@ -408,9 +411,8 @@ const extensionStubWithSidebarItems = new (class extends LensRendererExtension { ), }, }, - ]; - - clusterPageMenus = [ + ], + clusterPageMenus: [ { id: "some-parent-id", title: "Parent", @@ -441,16 +443,5 @@ const extensionStubWithSidebarItems = new (class extends LensRendererExtension { Icon: null as never, }, }, - ]; -})({ - absolutePath: "/some/absolute/path", - id: "some-extension-id", - isBundled: true, - isCompatible: true, - isEnabled: true, - manifest: { - name: "some-extension-name", - version: "1.0.0", - }, - manifestPath: "/some/manifest/path", -}); + ], +}; diff --git a/src/behaviours/extension-special-characters-in-page-registrations.test.tsx b/src/behaviours/extension-special-characters-in-page-registrations.test.tsx index b732aaa63e..2320d28a1b 100644 --- a/src/behaviours/extension-special-characters-in-page-registrations.test.tsx +++ b/src/behaviours/extension-special-characters-in-page-registrations.test.tsx @@ -2,15 +2,13 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import type { TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake"; -import { getRendererExtensionFake } from "../renderer/components/test-utils/get-renderer-extension-fake"; +import type { FakeExtensionData, TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake"; +import { getRendererExtensionFakeFor } from "../renderer/components/test-utils/get-renderer-extension-fake"; import React from "react"; import type { RenderResult } from "@testing-library/react"; import currentPathInjectable from "../renderer/routes/current-path.injectable"; -import type { LensRendererExtension } from "../extensions/lens-renderer-extension"; import type { ApplicationBuilder } from "../renderer/components/test-utils/get-application-builder"; import { getApplicationBuilder } from "../renderer/components/test-utils/get-application-builder"; -import type { SetRequired } from "type-fest"; describe("extension special characters in page registrations", () => { let applicationBuilder: ApplicationBuilder; @@ -19,6 +17,7 @@ describe("extension special characters in page registrations", () => { beforeEach(async () => { applicationBuilder = getApplicationBuilder(); + const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder); testExtension = getRendererExtensionFake( extensionWithPagesHavingSpecialCharacters, @@ -50,9 +49,9 @@ describe("extension special characters in page registrations", () => { }); }); -const extensionWithPagesHavingSpecialCharacters: SetRequired, "id"> = { - id: "@some-extension-id/", - +const extensionWithPagesHavingSpecialCharacters: FakeExtensionData = { + id: "some-extension-id", + name: "@some-extension-name/", globalPages: [ { id: "/some-page-id/", diff --git a/src/behaviours/navigate-to-extension-page.test.tsx b/src/behaviours/navigate-to-extension-page.test.tsx index 1b51197533..35c47b9076 100644 --- a/src/behaviours/navigate-to-extension-page.test.tsx +++ b/src/behaviours/navigate-to-extension-page.test.tsx @@ -2,8 +2,8 @@ * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ -import type { TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake"; -import { getRendererExtensionFake } from "../renderer/components/test-utils/get-renderer-extension-fake"; +import type { FakeExtensionData, TestExtension } from "../renderer/components/test-utils/get-renderer-extension-fake"; +import { getRendererExtensionFakeFor } from "../renderer/components/test-utils/get-renderer-extension-fake"; import React from "react"; import type { RenderResult } from "@testing-library/react"; import { fireEvent } from "@testing-library/react"; @@ -11,9 +11,7 @@ import isEmpty from "lodash/isEmpty"; import queryParametersInjectable from "../renderer/routes/query-parameters.injectable"; import currentPathInjectable from "../renderer/routes/current-path.injectable"; import type { IComputedValue } from "mobx"; -import type { LensRendererExtension } from "../extensions/lens-renderer-extension"; import { getApplicationBuilder } from "../renderer/components/test-utils/get-application-builder"; -import type { SetRequired } from "type-fest"; describe("navigate to extension page", () => { let rendered: RenderResult; @@ -23,6 +21,7 @@ describe("navigate to extension page", () => { beforeEach(async () => { const applicationBuilder = getApplicationBuilder(); + const getRendererExtensionFake = getRendererExtensionFakeFor(applicationBuilder); testExtension = getRendererExtensionFake( extensionWithPagesHavingParameters, @@ -126,9 +125,9 @@ describe("navigate to extension page", () => { }); }); -const extensionWithPagesHavingParameters: SetRequired, "id"> = { +const extensionWithPagesHavingParameters: FakeExtensionData = { id: "some-extension-id", - + name: "some-extension-name", globalPages: [ { components: { diff --git a/src/behaviours/preferences/__snapshots__/closing-preferences.test.tsx.snap b/src/behaviours/preferences/__snapshots__/closing-preferences.test.tsx.snap index 9c6c48b0b3..eafa941325 100644 --- a/src/behaviours/preferences/__snapshots__/closing-preferences.test.tsx.snap +++ b/src/behaviours/preferences/__snapshots__/closing-preferences.test.tsx.snap @@ -117,14 +117,14 @@ exports[`preferences - closing-preferences given accessing preferences directly class="SubTitle" > Theme - +
Select...
@@ -150,7 +150,7 @@ exports[`preferences - closing-preferences given accessing preferences directly > Extension Install Registry - +
Select...
@@ -235,7 +235,7 @@ exports[`preferences - closing-preferences given accessing preferences directly > - This setting is to change the registry URL for installing extensions by name. - If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your + This setting is to change the registry URL for installing extensions by name. + If you are unable to access the default registry (https://registry.npmjs.org) you can change it in your .npmrc @@ -316,7 +316,7 @@ exports[`preferences - closing-preferences given accessing preferences directly class="SubTitle" > Start-up - +