1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix namespace details not opening (#6865)

* Fix namespace details not opening

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Update tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-01-04 05:15:37 -08:00 committed by GitHub
parent d157418164
commit 0ded989338
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1049 additions and 34 deletions

View File

@ -249,7 +249,7 @@ function legacyRegisterApi(api: KubeApi<any, any>): void {
const di = getEnvironmentSpecificLegacyGlobalDiForExtensionApi(Environments.renderer); const di = getEnvironmentSpecificLegacyGlobalDiForExtensionApi(Environments.renderer);
const autoRegistrationEmitter = di.inject(autoRegistrationEmitterInjectable); const autoRegistrationEmitter = di.inject(autoRegistrationEmitterInjectable);
autoRegistrationEmitter.emit("kubeApi", api); setImmediate(() => autoRegistrationEmitter.emit("kubeApi", api));
} catch { } catch {
// ignore error // ignore error
} }

View File

@ -252,7 +252,7 @@ exports[`disable kube object detail items when cluster is not relevant given ext
class="contents" class="contents"
> >
<div <div
class="Animate slide-right Drawer KubeObjectDetails flex column right enter" class="Animate slide-right Drawer KubeObjectDetails flex column right enter leave"
style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;" style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;"
> >
<div <div
@ -751,7 +751,7 @@ exports[`disable kube object detail items when cluster is not relevant given ext
class="contents" class="contents"
> >
<div <div
class="Animate slide-right Drawer KubeObjectDetails flex column right enter" class="Animate slide-right Drawer KubeObjectDetails flex column right enter leave"
style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;" style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;"
> >
<div <div
@ -1245,7 +1245,7 @@ exports[`disable kube object detail items when cluster is not relevant given not
class="contents" class="contents"
> >
<div <div
class="Animate slide-right Drawer KubeObjectDetails flex column right enter" class="Animate slide-right Drawer KubeObjectDetails flex column right enter leave"
style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;" style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;"
> >
<div <div

View File

@ -0,0 +1,994 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`reactively hide kube object detail item renders 1`] = `
<body>
<div>
<div
class="Notifications flex column align-flex-end"
/>
<div
class="mainLayout"
style="--sidebar-width: 200px;"
>
<div
class="sidebar"
>
<div
class="flex flex-col"
data-testid="cluster-sidebar"
>
<div
class="SidebarCluster"
>
<div
class="Avatar rounded loadingAvatar"
style="width: 40px; height: 40px;"
>
??
</div>
<div
class="loadingClusterName"
/>
</div>
<div
class="sidebarNav sidebar-active-status"
>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-workloads"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-workloads"
href="/"
>
<i
class="Icon svg focusable"
>
<span
class="icon"
/>
</i>
<span>
Workloads
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-config"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-config"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="list"
>
list
</span>
</i>
<span>
Config
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-network"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-network"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="device_hub"
>
device_hub
</span>
</i>
<span>
Network
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-storage"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-storage"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="storage"
>
storage
</span>
</i>
<span>
Storage
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-helm"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-helm"
href="/"
>
<i
class="Icon svg focusable"
>
<span
class="icon"
/>
</i>
<span>
Helm
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-user-management"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-user-management"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="security"
>
security
</span>
</i>
<span>
Access Control
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-custom-resources"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-custom-resources"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="extension"
>
extension
</span>
</i>
<span>
Custom Resources
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
</div>
</div>
<div
class="ResizingAnchor horizontal trailing"
/>
</div>
<div
class="contents"
>
<div
class="Animate slide-right Drawer KubeObjectDetails flex column right enter leave"
style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="drawer-wrapper flex column"
>
<div
class="drawer-title flex align-center"
>
<div
class="drawer-title-text flex gaps align-center"
>
some-kind: some-name
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="content_copy"
>
content_copy
</span>
</i>
<div>
Copy
</div>
</div>
<ul
class="Menu MenuActions flex KubeObjectMenu toolbar gaps right bottom"
id="menu-actions-for-kube-object-menu-for-some-uid"
/>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
<div>
Close
</div>
</div>
<div
class="drawer-content flex column box grow"
>
<div
class="DrawerItem"
>
<span
class="name"
>
Created
</span>
<span
class="value"
>
&lt;unknown&gt;
ago
</span>
</div>
<div
class="DrawerItem"
>
<span
class="name"
>
Name
</span>
<span
class="value"
>
some-name
</span>
</div>
<div
class="DrawerItem"
>
<span
class="name"
>
Namespace
</span>
<span
class="value"
>
some-namespace
</span>
</div>
<div>
<div
class="DrawerTitle flex gaps align-center title"
>
<span>
Events
</span>
</div>
</div>
</div>
</div>
<div
class="ResizingAnchor horizontal leading"
/>
</div>
</div>
<div
class="footer"
>
<div
class="Dock"
tabindex="-1"
>
<div
class="ResizingAnchor vertical leading"
/>
<div
class="tabs-container flex align-center"
>
<div
class="dockTabs"
role="tablist"
>
<div
class="Tabs tabs"
>
<div
class="Tab flex gaps align-center DockTab TerminalTab active"
data-testid="dock-tab-for-terminal"
id="tab-terminal"
role="tab"
tabindex="0"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="terminal"
>
terminal
</span>
</i>
<div
class="label"
>
<div
class="flex align-center"
>
<span
class="title"
>
Terminal
</span>
<div
class="close"
>
<i
class="Icon material interactive focusable small"
data-testid="dock-tab-close-for-terminal"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
<div
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
>
Close ⌘+W
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="toolbar flex gaps align-center box grow"
>
<div
class="dock-menu box grow"
>
<i
class="Icon new-dock-tab material interactive focusable"
id="menu-actions-for-dock"
tabindex="0"
>
<span
class="icon"
data-icon-name="add"
>
add
</span>
</i>
<div>
New tab
</div>
</div>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="fullscreen"
>
fullscreen
</span>
</i>
<div>
Fit to window
</div>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="keyboard_arrow_up"
>
keyboard_arrow_up
</span>
</i>
<div>
Open
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
`;
exports[`reactively hide kube object detail item when the item is shown renders 1`] = `
<body>
<div>
<div
class="Notifications flex column align-flex-end"
/>
<div
class="mainLayout"
style="--sidebar-width: 200px;"
>
<div
class="sidebar"
>
<div
class="flex flex-col"
data-testid="cluster-sidebar"
>
<div
class="SidebarCluster"
>
<div
class="Avatar rounded loadingAvatar"
style="width: 40px; height: 40px;"
>
??
</div>
<div
class="loadingClusterName"
/>
</div>
<div
class="sidebarNav sidebar-active-status"
>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-workloads"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-workloads"
href="/"
>
<i
class="Icon svg focusable"
>
<span
class="icon"
/>
</i>
<span>
Workloads
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-config"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-config"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="list"
>
list
</span>
</i>
<span>
Config
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-network"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-network"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="device_hub"
>
device_hub
</span>
</i>
<span>
Network
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-storage"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-storage"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="storage"
>
storage
</span>
</i>
<span>
Storage
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-helm"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-helm"
href="/"
>
<i
class="Icon svg focusable"
>
<span
class="icon"
/>
</i>
<span>
Helm
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-user-management"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-user-management"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="security"
>
security
</span>
</i>
<span>
Access Control
</span>
</a>
</div>
<div
class="SidebarItem"
data-is-active-test="false"
data-testid="sidebar-item-custom-resources"
>
<a
class="navItem"
data-testid="sidebar-item-link-for-custom-resources"
href="/"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="extension"
>
extension
</span>
</i>
<span>
Custom Resources
</span>
<i
class="Icon expandIcon material focusable"
>
<span
class="icon"
data-icon-name="keyboard_arrow_down"
>
keyboard_arrow_down
</span>
</i>
</a>
</div>
</div>
</div>
<div
class="ResizingAnchor horizontal trailing"
/>
</div>
<div
class="contents"
>
<div
class="Animate slide-right Drawer KubeObjectDetails flex column right enter leave"
style="--size: 725px; --enter-duration: 100ms; --leave-duration: 100ms;"
>
<div
class="drawer-wrapper flex column"
>
<div
class="drawer-title flex align-center"
>
<div
class="drawer-title-text flex gaps align-center"
>
some-kind: some-name
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="content_copy"
>
content_copy
</span>
</i>
<div>
Copy
</div>
</div>
<ul
class="Menu MenuActions flex KubeObjectMenu toolbar gaps right bottom"
id="menu-actions-for-kube-object-menu-for-some-uid"
/>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
<div>
Close
</div>
</div>
<div
class="drawer-content flex column box grow"
>
<div
class="DrawerItem"
>
<span
class="name"
>
Created
</span>
<span
class="value"
>
&lt;unknown&gt;
ago
</span>
</div>
<div
class="DrawerItem"
>
<span
class="name"
>
Name
</span>
<span
class="value"
>
some-name
</span>
</div>
<div
class="DrawerItem"
>
<span
class="name"
>
Namespace
</span>
<span
class="value"
>
some-namespace
</span>
</div>
<div
data-testid="some-kube-object-detail-item"
>
Some detail
</div>
<div>
<div
class="DrawerTitle flex gaps align-center title"
>
<span>
Events
</span>
</div>
</div>
</div>
</div>
<div
class="ResizingAnchor horizontal leading"
/>
</div>
</div>
<div
class="footer"
>
<div
class="Dock"
tabindex="-1"
>
<div
class="ResizingAnchor vertical leading"
/>
<div
class="tabs-container flex align-center"
>
<div
class="dockTabs"
role="tablist"
>
<div
class="Tabs tabs"
>
<div
class="Tab flex gaps align-center DockTab TerminalTab active"
data-testid="dock-tab-for-terminal"
id="tab-terminal"
role="tab"
tabindex="0"
>
<i
class="Icon material focusable"
>
<span
class="icon"
data-icon-name="terminal"
>
terminal
</span>
</i>
<div
class="label"
>
<div
class="flex align-center"
>
<span
class="title"
>
Terminal
</span>
<div
class="close"
>
<i
class="Icon material interactive focusable small"
data-testid="dock-tab-close-for-terminal"
tabindex="0"
>
<span
class="icon"
data-icon-name="close"
>
close
</span>
</i>
<div
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
>
Close ⌘+W
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="toolbar flex gaps align-center box grow"
>
<div
class="dock-menu box grow"
>
<i
class="Icon new-dock-tab material interactive focusable"
id="menu-actions-for-dock"
tabindex="0"
>
<span
class="icon"
data-icon-name="add"
>
add
</span>
</i>
<div>
New tab
</div>
</div>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="fullscreen"
>
fullscreen
</span>
</i>
<div>
Fit to window
</div>
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="keyboard_arrow_up"
>
keyboard_arrow_up
</span>
</i>
<div>
Open
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
`;

View File

@ -18,8 +18,9 @@ import { KubeObject } from "../../../../common/k8s-api/kube-object";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../../renderer/extension-loader/extension-should-be-enabled-for-cluster-frame.injectable"; import extensionShouldBeEnabledForClusterFrameInjectable from "../../../../renderer/extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable"; import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { KubeObjectDetails } from "../../../../renderer/components/kube-object-details"; import { KubeObjectDetails } from "../../../../renderer/components/kube-object-details";
import type { ApiManager } from "../../../../common/k8s-api/api-manager";
import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store"; import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store";
import type { KubeApi } from "../../../../common/k8s-api/kube-api";
import showDetailsInjectable from "../../../../renderer/components/kube-detail-params/show-details.injectable";
describe("disable kube object detail items when cluster is not relevant", () => { describe("disable kube object detail items when cluster is not relevant", () => {
let builder: ApplicationBuilder; let builder: ApplicationBuilder;
@ -32,12 +33,18 @@ describe("disable kube object detail items when cluster is not relevant", () =>
builder = getApplicationBuilder(); builder = getApplicationBuilder();
builder.setEnvironmentToClusterFrame(); builder.setEnvironmentToClusterFrame();
builder.beforeWindowStart((windowDi) => { builder.afterWindowStart((windowDi) => {
windowDi.override(apiManagerInjectable, () => ({ const apiManager = windowDi.inject(apiManagerInjectable);
getStore: () => ({ const api = {
apiBase: "/apis/some-api-version/some-kind",
} as Partial<KubeApi<KubeObject>> as KubeApi<KubeObject>;
const store = {
api,
loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"), loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"),
}) as Partial<KubeObjectStore> as KubeObjectStore, } as Partial<KubeObjectStore<KubeObject>> as KubeObjectStore<KubeObject>;
}) as Partial<ApiManager> as ApiManager);
apiManager.registerApi(api);
apiManager.registerStore(store);
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable); windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
@ -76,9 +83,11 @@ describe("disable kube object detail items when cluster is not relevant", () =>
const windowDi = builder.applicationWindow.only.di; const windowDi = builder.applicationWindow.only.di;
const navigateToRoute = windowDi.inject(navigateToRouteInjectionToken); const navigateToRoute = windowDi.inject(navigateToRouteInjectionToken);
const showDetails = windowDi.inject(showDetailsInjectable);
const testRoute = windowDi.inject(testRouteInjectable); const testRoute = windowDi.inject(testRouteInjectable);
navigateToRoute(testRoute); navigateToRoute(testRoute);
showDetails("/apis/some-api-version/namespaces/some-namespace/some-kind/some-name");
builder.extensions.enable(testExtension); builder.extensions.enable(testExtension);
}); });

View File

@ -15,8 +15,9 @@ import { routeSpecificComponentInjectionToken } from "../../../../renderer/route
import { KubeObject } from "../../../../common/k8s-api/kube-object"; import { KubeObject } from "../../../../common/k8s-api/kube-object";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable"; import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { KubeObjectDetails } from "../../../../renderer/components/kube-object-details"; import { KubeObjectDetails } from "../../../../renderer/components/kube-object-details";
import type { ApiManager } from "../../../../common/k8s-api/api-manager";
import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store"; import type { KubeObjectStore } from "../../../../common/k8s-api/kube-object.store";
import type { KubeApi } from "../../../../common/k8s-api/kube-api";
import showDetailsInjectable from "../../../../renderer/components/kube-detail-params/show-details.injectable";
describe("reactively hide kube object detail item", () => { describe("reactively hide kube object detail item", () => {
let builder: ApplicationBuilder; let builder: ApplicationBuilder;
@ -28,12 +29,18 @@ describe("reactively hide kube object detail item", () => {
builder.setEnvironmentToClusterFrame(); builder.setEnvironmentToClusterFrame();
builder.beforeWindowStart((windowDi) => { builder.afterWindowStart((windowDi) => {
windowDi.override(apiManagerInjectable, () => ({ const apiManager = windowDi.inject(apiManagerInjectable);
getStore: () => ({ const api = {
apiBase: "/apis/some-api-version/some-kind",
} as Partial<KubeApi<KubeObject>> as KubeApi<KubeObject>;
const store = {
api,
loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"), loadFromPath: async () => getKubeObjectStub("some-kind", "some-api-version"),
}) as Partial<KubeObjectStore> as KubeObjectStore, } as Partial<KubeObjectStore<KubeObject>> as KubeObjectStore<KubeObject>;
}) as Partial<ApiManager> as ApiManager);
apiManager.registerApi(api);
apiManager.registerStore(store);
runInAction(() => { runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable); windowDi.register(testRouteInjectable, testRouteComponentInjectable);
@ -71,30 +78,45 @@ describe("reactively hide kube object detail item", () => {
const windowDi = builder.applicationWindow.only.di; const windowDi = builder.applicationWindow.only.di;
const navigateToRoute = windowDi.inject(navigateToRouteInjectionToken); const navigateToRoute = windowDi.inject(navigateToRouteInjectionToken);
const showDetails = windowDi.inject(showDetailsInjectable);
const testRoute = windowDi.inject(testRouteInjectable); const testRoute = windowDi.inject(testRouteInjectable);
navigateToRoute(testRoute); navigateToRoute(testRoute);
showDetails("/apis/some-api-version/namespaces/some-namespace/some-kind/some-name");
builder.extensions.enable(testExtension); builder.extensions.enable(testExtension);
}); });
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it("does not show the kube object detail item", () => { it("does not show the kube object detail item", () => {
const actual = rendered.queryByTestId("some-kube-object-detail-item"); const actual = rendered.queryByTestId("some-kube-object-detail-item");
expect(actual).not.toBeInTheDocument(); expect(actual).not.toBeInTheDocument();
}); });
it("given item should be shown, shows the kube object detail item", () => { describe("when the item is shown", () => {
beforeEach(() => {
runInAction(() => { runInAction(() => {
someObservable.set(true); someObservable.set(true);
}); });
});
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it("shows the kube object detail item", () => {
const actual = rendered.queryByTestId("some-kube-object-detail-item"); const actual = rendered.queryByTestId("some-kube-object-detail-item");
expect(actual).toBeInTheDocument(); expect(actual).toBeInTheDocument();
}); });
}); });
});
const testRouteInjectable = getInjectable({ const testRouteInjectable = getInjectable({
id: "test-route", id: "test-route",

View File

@ -9,7 +9,6 @@ import type { ApplicationBuilder } from "../../../../../renderer/components/test
import type { KubernetesCluster } from "../../../../../common/catalog-entities"; import type { KubernetesCluster } from "../../../../../common/catalog-entities";
import { getApplicationBuilder } from "../../../../../renderer/components/test-utils/get-application-builder"; import { getApplicationBuilder } from "../../../../../renderer/components/test-utils/get-application-builder";
import extensionShouldBeEnabledForClusterFrameInjectable from "../../../../../renderer/extension-loader/extension-should-be-enabled-for-cluster-frame.injectable"; import extensionShouldBeEnabledForClusterFrameInjectable from "../../../../../renderer/extension-loader/extension-should-be-enabled-for-cluster-frame.injectable";
import apiManagerInjectable from "../../../../../common/k8s-api/api-manager/manager.injectable";
import navigateToWorkloadsOverviewInjectable from "../../../../../common/front-end-routing/routes/cluster/workloads/overview/navigate-to-workloads-overview.injectable"; import navigateToWorkloadsOverviewInjectable from "../../../../../common/front-end-routing/routes/cluster/workloads/overview/navigate-to-workloads-overview.injectable";
import React from "react"; import React from "react";
@ -24,11 +23,6 @@ describe("disable workloads overview details when cluster is not relevant", () =
builder = getApplicationBuilder(); builder = getApplicationBuilder();
builder.setEnvironmentToClusterFrame(); builder.setEnvironmentToClusterFrame();
builder.beforeApplicationStart((mainDi) => {
mainDi.override(apiManagerInjectable, () => ({}));
});
builder.beforeWindowStart((windowDi) => { builder.beforeWindowStart((windowDi) => {
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable); windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
}); });

View File

@ -15,10 +15,8 @@ import focusWindowInjectable from "./navigation/focus-window.injectable";
import terminalSpawningPoolInjectable from "./components/dock/terminal/terminal-spawning-pool.injectable"; import terminalSpawningPoolInjectable from "./components/dock/terminal/terminal-spawning-pool.injectable";
import hostedClusterIdInjectable from "./cluster-frame-context/hosted-cluster-id.injectable"; import hostedClusterIdInjectable from "./cluster-frame-context/hosted-cluster-id.injectable";
import historyInjectable from "./navigation/history.injectable"; import historyInjectable from "./navigation/history.injectable";
import { ApiManager } from "../common/k8s-api/api-manager";
import lensResourcesDirInjectable from "../common/vars/lens-resources-dir.injectable"; import lensResourcesDirInjectable from "../common/vars/lens-resources-dir.injectable";
import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable"; import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable";
import apiManagerInjectable from "../common/k8s-api/api-manager/manager.injectable";
import { computed, runInAction } from "mobx"; import { computed, runInAction } from "mobx";
import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable"; import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable";
import getRandomIdInjectable from "../common/utils/get-random-id.injectable"; import getRandomIdInjectable from "../common/utils/get-random-id.injectable";
@ -143,8 +141,6 @@ export const getDiForUnitTesting = (
requestPublicHelmRepositoriesInjectable, requestPublicHelmRepositoriesInjectable,
]); ]);
di.override(apiManagerInjectable, () => new ApiManager());
di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never)); di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never));
getOverrideFsWithFakes()(di); getOverrideFsWithFakes()(di);