mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Making apiBase injectable (#6022)
* Making apiBase injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert all of Helm functions to be DI Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make PortForward's use of apiBase fully injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert all metric requests to be injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Replace resource applier with injectables Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch KubeJsonApi.forCluster to be injectable but do not use Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert the rest of shell sessions to be DI-ed - This is a prerequesit for using the new createKubeJsonApiForClusterInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Use new createKubeJsonApiForClusterInjectable for openNodeShellSession Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make KubeconfigDialog injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove jest-fetch-mock and make fetch injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests with new global override Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add new injectable for create KubeJsonApi and JsonApi instances Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix showing-details-for-helm-release behavioural tests - Remove HelmChartStore in favour of all injectables - Create a model for UpgradeChartDockTab Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix show details and updating helm releases tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix residual typing issues related to metrics Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix crash on load due to circular dependency Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix create resource tab not working Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove legacy apiBase global Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce and use isDebuggingInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce and use windowLocationInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove global legacy apiKube Signed-off-by: Sebastian Malton <sebastian@malton.name> * Improve injectable filenames compared to the injectables inside Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove modifying input in requestActivePortForwardInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Introduce and use get(Milli)SecondsFromUnixEpochInjectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Switch to non-reactive way of gettting possible helm release versions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix typo Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix bug in KubeApi constructor Signed-off-by: Sebastian Malton <sebastian@malton.name> * Convert all KubeApi related tests to use asyncFn Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix unit tests after introducing new injectables that have side effects Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix bad rebase causing tests to fail Signed-off-by: Sebastian Malton <sebastian@malton.name> * Improve expects for multiple field values Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix crash will looking up api refs Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix breaking change on KubeApi.list Signed-off-by: Sebastian Malton <sebastian@malton.name> * Better fix for formatting urls Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove injectable for time since we should just use useMockTime Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add happy path behavioural tests for upgrade chart tab Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove debug message Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * fix showing-details-for-helm-release tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix installing-helm-chart-from-new-tab tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests relating to hosted cluster id Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots to recent changes in master Co-authored-by: Janne Savolainen <janne.savolainen@live.fi> Signed-off-by: Iku-turso <mikko.aspiala@gmail.com> * Reupdated upgrade chart new tab test snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix flakiness in unit test when using <Animated> Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix flakiness and improve tests for DeleteClusterDialog Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix kubeconfig-sync tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix <Extensions> tests by removing mockFs and making everything injectable Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix build issues Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix getElectronAppPathInjectable override not returning absolute paths - Also fixes the listing-active-helm-repos-in-prefs tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Replace all uses of getAbsolutePath with joinPaths as it is more correct and less confusing Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix opening application window tests by making override properly absolute Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots relating no longer using getAbsolutePath Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix and add behavioural tests for RenderDelay Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix extension discovery tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix test flakiness because of path side effects, propagate uses to as many places Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix extension-discovery tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add global override to fix some tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Rewrite and fix implementation of KubeconfigManager and its tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests by global override pathExists Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix unit tests failing on windows by using injectable verions of path functions Signed-off-by: Sebastian Malton <sebastian@malton.name> * Attempt to fix test timeout by using runInAction Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots after rebase Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots after rebase Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests after rebase Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix setupIpcMainHandlers usage Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Iku-turso <mikko.aspiala@gmail.com> Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
367 files changed
+16701
-5302
No files matched your search
@@ -484,6 +484,7 @@ exports[`cluster - order of sidebar items when rendered renders 1`] = `
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -493,7 +494,9 @@ exports[`cluster - order of sidebar items when rendered renders 1`] = `
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1096,6 +1099,7 @@ exports[`cluster - order of sidebar items when rendered when parent is expanded
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1105,7 +1109,9 @@ exports[`cluster - order of sidebar items when rendered when parent is expanded
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+28
-7
@@ -457,6 +457,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -466,7 +467,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -990,6 +993,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -999,7 +1003,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1543,6 +1549,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1552,7 +1559,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1976,6 +1985,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1985,7 +1995,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2388,6 +2400,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2397,7 +2410,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2941,6 +2956,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2950,7 +2966,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3474,6 +3492,7 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3483,7 +3502,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+32
-8
@@ -457,6 +457,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -466,7 +467,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -990,6 +993,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -999,7 +1003,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1559,6 +1565,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1568,7 +1575,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2047,6 +2056,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2056,7 +2066,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2535,6 +2547,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2544,7 +2557,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2986,6 +3001,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2995,7 +3011,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3555,6 +3573,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3564,7 +3583,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4088,6 +4109,7 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -4097,7 +4119,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -429,6 +429,7 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -438,7 +439,9 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -974,6 +977,7 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -983,7 +987,9 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -484,6 +484,7 @@ exports[`workload overview when navigating to workload overview renders 1`] = `
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -493,7 +494,9 @@ exports[`workload overview when navigating to workload overview renders 1`] = `
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2192
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import type { RequestChannel } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
import { requestChannelInjectionToken } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
|
||||
export type ClearClusterAsDeletingChannel = RequestChannel<ClusterId, void>;
|
||||
|
||||
const clearClusterAsDeletingChannelInjectable = getInjectable({
|
||||
id: "clear-cluster-as-deleting-channel",
|
||||
instantiate: (): ClearClusterAsDeletingChannel => ({
|
||||
id: "clear-cluster-as-deleting",
|
||||
}),
|
||||
injectionToken: requestChannelInjectionToken,
|
||||
});
|
||||
|
||||
export default clearClusterAsDeletingChannelInjectable;
|
||||
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import type { RequestChannel } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
import { requestChannelInjectionToken } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
|
||||
export type DeleteClusterChannel = RequestChannel<ClusterId, void>;
|
||||
|
||||
const deleteClusterChannelInjectable = getInjectable({
|
||||
id: "delete-cluster-channel",
|
||||
instantiate: (): DeleteClusterChannel => ({
|
||||
id: "delete-cluster",
|
||||
}),
|
||||
injectionToken: requestChannelInjectionToken,
|
||||
});
|
||||
|
||||
export default deleteClusterChannelInjectable;
|
||||
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import type { RequestChannel } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
import { requestChannelInjectionToken } from "../../../../common/utils/channel/request-channel-injection-token";
|
||||
|
||||
export type SetClusterAsDeletingChannel = RequestChannel<ClusterId, void>;
|
||||
|
||||
const setClusterAsDeletingChannelInjectable = getInjectable({
|
||||
id: "set-cluster-as-deleting-channel",
|
||||
instantiate: (): SetClusterAsDeletingChannel => ({
|
||||
id: "set-cluster-as-deleting",
|
||||
}),
|
||||
injectionToken: requestChannelInjectionToken,
|
||||
});
|
||||
|
||||
export default setClusterAsDeletingChannelInjectable;
|
||||
@@ -0,0 +1,284 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import "@testing-library/jest-dom/extend-expect";
|
||||
import { KubeConfig } from "@kubernetes/client-node";
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import type { CreateCluster } from "../../../common/cluster/create-cluster-injection-token";
|
||||
import { createClusterInjectionToken } from "../../../common/cluster/create-cluster-injection-token";
|
||||
import createContextHandlerInjectable from "../../../main/context-handler/create-context-handler.injectable";
|
||||
import createKubeconfigManagerInjectable from "../../../main/kubeconfig-manager/create-kubeconfig-manager.injectable";
|
||||
import normalizedPlatformInjectable from "../../../common/vars/normalized-platform.injectable";
|
||||
import kubectlBinaryNameInjectable from "../../../main/kubectl/binary-name.injectable";
|
||||
import kubectlDownloadingNormalizedArchInjectable from "../../../main/kubectl/normalized-arch.injectable";
|
||||
import openDeleteClusterDialogInjectable, { type OpenDeleteClusterDialog } from "../../../renderer/components/delete-cluster-dialog/open.injectable";
|
||||
import { type ApplicationBuilder, getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable";
|
||||
import type { Cluster } from "../../../common/cluster/cluster";
|
||||
import navigateToCatalogInjectable from "../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable";
|
||||
import appEventBusInjectable from "../../../common/app-event-bus/app-event-bus.injectable";
|
||||
import directoryForKubeConfigsInjectable from "../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
|
||||
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||
|
||||
const currentClusterServerUrl = "https://localhost";
|
||||
const nonCurrentClusterServerUrl = "http://localhost";
|
||||
const multiClusterConfig = `
|
||||
apiVersion: v1
|
||||
clusters:
|
||||
- cluster:
|
||||
server: ${currentClusterServerUrl}
|
||||
name: some-current-context-cluster
|
||||
- cluster:
|
||||
server: ${nonCurrentClusterServerUrl}
|
||||
name: some-non-current-context-cluster
|
||||
contexts:
|
||||
- context:
|
||||
cluster: some-current-context-cluster
|
||||
user: some-user
|
||||
name: some-current-context
|
||||
- context:
|
||||
cluster: some-non-current-context-cluster
|
||||
user: some-user
|
||||
name: some-non-current-context
|
||||
current-context: some-current-context
|
||||
kind: Config
|
||||
preferences: {}
|
||||
users:
|
||||
- name: some-user
|
||||
user:
|
||||
token: kubeconfig-user-q4lm4:xxxyyyy
|
||||
`;
|
||||
|
||||
const singleClusterServerUrl = "http://localhost";
|
||||
const singleClusterConfig = `
|
||||
apiVersion: v1
|
||||
clusters:
|
||||
- cluster:
|
||||
server: ${singleClusterServerUrl}
|
||||
name: some-cluster
|
||||
contexts:
|
||||
- context:
|
||||
cluster: some-cluster
|
||||
user: some-user
|
||||
name: some-context
|
||||
current-context: some-context
|
||||
kind: Config
|
||||
preferences: {}
|
||||
users:
|
||||
- name: some-user
|
||||
user:
|
||||
token: kubeconfig-user-q4lm4:xxxyyyy
|
||||
`;
|
||||
|
||||
describe("Deleting a cluster", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let openDeleteClusterDialog: OpenDeleteClusterDialog;
|
||||
let createCluster: CreateCluster;
|
||||
let rendered: RenderResult;
|
||||
let config: KubeConfig;
|
||||
|
||||
beforeEach(async () => {
|
||||
config = new KubeConfig();
|
||||
builder = getApplicationBuilder();
|
||||
|
||||
builder.beforeApplicationStart((mainDi) => {
|
||||
mainDi.override(createContextHandlerInjectable, () => () => undefined as never);
|
||||
mainDi.override(createKubeconfigManagerInjectable, () => () => undefined as never);
|
||||
mainDi.override(kubectlBinaryNameInjectable, () => "kubectl");
|
||||
mainDi.override(kubectlDownloadingNormalizedArchInjectable, () => "amd64");
|
||||
mainDi.override(normalizedPlatformInjectable, () => "darwin");
|
||||
});
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||
openDeleteClusterDialog = windowDi.inject(openDeleteClusterDialogInjectable);
|
||||
|
||||
// TODO: remove this line when all global uses of appEventBus are removed
|
||||
windowDi.permitSideEffects(appEventBusInjectable);
|
||||
});
|
||||
|
||||
builder.afterWindowStart(windowDi => {
|
||||
createCluster = windowDi.inject(createClusterInjectionToken);
|
||||
|
||||
const navigateToCatalog = windowDi.inject(navigateToCatalogInjectable);
|
||||
|
||||
navigateToCatalog();
|
||||
});
|
||||
|
||||
rendered = await builder.render();
|
||||
});
|
||||
|
||||
describe("when the kubeconfig has multiple clusters", () => {
|
||||
let currentCluster: Cluster;
|
||||
let nonCurrentCluster: Cluster;
|
||||
|
||||
beforeEach(() => {
|
||||
config.loadFromString(multiClusterConfig);
|
||||
|
||||
currentCluster = createCluster({
|
||||
id: "some-current-context-cluster",
|
||||
contextName: "some-current-context",
|
||||
preferences: {
|
||||
clusterName: "some-current-context-cluster",
|
||||
},
|
||||
kubeConfigPath: "./temp-kube-config",
|
||||
}, {
|
||||
clusterServerUrl: currentClusterServerUrl,
|
||||
});
|
||||
nonCurrentCluster = createCluster({
|
||||
id: "some-non-current-context-cluster",
|
||||
contextName: "some-non-current-context",
|
||||
preferences: {
|
||||
clusterName: "some-non-current-context-cluster",
|
||||
},
|
||||
kubeConfigPath: "./temp-kube-config",
|
||||
}, {
|
||||
clusterServerUrl: currentClusterServerUrl,
|
||||
});
|
||||
});
|
||||
|
||||
describe("when the dialog is opened for the current cluster", () => {
|
||||
// TODO: replace with actual behaviour instead of technical use
|
||||
beforeEach(async () => {
|
||||
openDeleteClusterDialog({
|
||||
cluster: currentCluster,
|
||||
config,
|
||||
});
|
||||
|
||||
await rendered.findByTestId("delete-cluster-dialog");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows context switcher", () => {
|
||||
expect(rendered.queryByText("Select new context...")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("shows warning", () => {
|
||||
expect(rendered.queryByTestId("current-context-warning")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
describe("when the dialog is opened for not the current cluster", () => {
|
||||
// TODO: replace with actual behaviour instead of technical use
|
||||
beforeEach(async () => {
|
||||
openDeleteClusterDialog({
|
||||
cluster: nonCurrentCluster,
|
||||
config,
|
||||
});
|
||||
|
||||
await rendered.findByTestId("delete-cluster-dialog");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows warning", () => {
|
||||
expect(rendered.queryByTestId("kubeconfig-change-warning")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("does not show context switcher", () => {
|
||||
expect(rendered.queryByText("Select new context...")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
describe("when context switching checkbox is clicked", () => {
|
||||
beforeEach(() => {
|
||||
rendered.getByTestId("delete-cluster-dialog-context-switch").click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows context switcher", () => {
|
||||
expect(rendered.queryByText("Select new context...")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("when an internal kubeconfig cluster is used", () => {
|
||||
let currentCluster: Cluster;
|
||||
|
||||
beforeEach(() => {
|
||||
config.loadFromString(singleClusterConfig);
|
||||
|
||||
const directoryForKubeConfigs = builder.applicationWindow.only.di.inject(directoryForKubeConfigsInjectable);
|
||||
const joinPaths = builder.applicationWindow.only.di.inject(joinPathsInjectable);
|
||||
|
||||
currentCluster = createCluster({
|
||||
id: "some-cluster",
|
||||
contextName: "some-context",
|
||||
preferences: {
|
||||
clusterName: "some-cluster",
|
||||
},
|
||||
kubeConfigPath: joinPaths(directoryForKubeConfigs, "some-cluster.json"),
|
||||
}, {
|
||||
clusterServerUrl: singleClusterServerUrl,
|
||||
});
|
||||
});
|
||||
|
||||
describe("when the dialog is opened", () => {
|
||||
// TODO: replace with actual behaviour instead of technical use
|
||||
beforeEach(async () => {
|
||||
openDeleteClusterDialog({
|
||||
cluster: currentCluster,
|
||||
config,
|
||||
});
|
||||
|
||||
await rendered.findByTestId("delete-cluster-dialog");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows warning", () => {
|
||||
expect(rendered.queryByTestId("internal-kubeconfig-warning")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("when the kubeconfig has only one cluster", () => {
|
||||
let currentCluster: Cluster;
|
||||
|
||||
beforeEach(() => {
|
||||
config.loadFromString(singleClusterConfig);
|
||||
|
||||
currentCluster = createCluster({
|
||||
id: "some-cluster",
|
||||
contextName: "some-context",
|
||||
preferences: {
|
||||
clusterName: "some-cluster",
|
||||
},
|
||||
kubeConfigPath: "./temp-kube-config",
|
||||
}, {
|
||||
clusterServerUrl: singleClusterServerUrl,
|
||||
});
|
||||
});
|
||||
|
||||
describe("when the dialog is opened", () => {
|
||||
// TODO: replace with actual behaviour instead of technical use
|
||||
beforeEach(async () => {
|
||||
openDeleteClusterDialog({
|
||||
cluster: currentCluster,
|
||||
config,
|
||||
});
|
||||
|
||||
await rendered.findByTestId("delete-cluster-dialog");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows warning", () => {
|
||||
expect(rendered.queryByTestId("no-more-contexts-warning")).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { requestChannelListenerInjectionToken } from "../../../../common/utils/channel/request-channel-listener-injection-token";
|
||||
import clustersThatAreBeingDeletedInjectable from "../../../../main/cluster/are-being-deleted.injectable";
|
||||
import clearClusterAsDeletingChannelInjectable from "../common/clear-as-deleting-channel.injectable";
|
||||
|
||||
const clearClusterAsDeletingChannelHandlerInjectable = getInjectable({
|
||||
id: "clear-cluster-as-deleting-channel-handler",
|
||||
instantiate: (di) => {
|
||||
const clustersThatAreBeingDeleted = di.inject(clustersThatAreBeingDeletedInjectable);
|
||||
|
||||
return {
|
||||
channel: di.inject(clearClusterAsDeletingChannelInjectable),
|
||||
handler: (clusterId) => clustersThatAreBeingDeleted.delete(clusterId),
|
||||
};
|
||||
},
|
||||
injectionToken: requestChannelListenerInjectionToken,
|
||||
});
|
||||
|
||||
export default clearClusterAsDeletingChannelHandlerInjectable;
|
||||
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import appEventBusInjectable from "../../../../common/app-event-bus/app-event-bus.injectable";
|
||||
import clusterFramesInjectable from "../../../../common/cluster-frames.injectable";
|
||||
import clusterStoreInjectable from "../../../../common/cluster-store/cluster-store.injectable";
|
||||
import directoryForLensLocalStorageInjectable from "../../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
|
||||
import deleteFileInjectable from "../../../../common/fs/delete-file.injectable";
|
||||
import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
|
||||
import { requestChannelListenerInjectionToken } from "../../../../common/utils/channel/request-channel-listener-injection-token";
|
||||
import deleteClusterChannelInjectable from "../common/delete-channel.injectable";
|
||||
|
||||
const deleteClusterChannelHandlerInjectable = getInjectable({
|
||||
id: "delete-cluster-channel-handler",
|
||||
instantiate: (di) => {
|
||||
const appEventBus = di.inject(appEventBusInjectable);
|
||||
const clusterStore = di.inject(clusterStoreInjectable);
|
||||
const clusterFrames = di.inject(clusterFramesInjectable);
|
||||
const joinPaths = di.inject(joinPathsInjectable);
|
||||
const directoryForLensLocalStorage = di.inject(directoryForLensLocalStorageInjectable);
|
||||
const deleteFile = di.inject(deleteFileInjectable);
|
||||
|
||||
return {
|
||||
channel: di.inject(deleteClusterChannelInjectable),
|
||||
handler: async (clusterId) =>{
|
||||
appEventBus.emit({ name: "cluster", action: "remove" });
|
||||
|
||||
const cluster = clusterStore.getById(clusterId);
|
||||
|
||||
if (!cluster) {
|
||||
return;
|
||||
}
|
||||
|
||||
cluster.disconnect();
|
||||
clusterFrames.delete(cluster.id);
|
||||
|
||||
// Remove from the cluster store as well, this should clear any old settings
|
||||
clusterStore.clusters.delete(cluster.id);
|
||||
|
||||
try {
|
||||
// remove the local storage file
|
||||
const localStorageFilePath = joinPaths(directoryForLensLocalStorage, `${cluster.id}.json`);
|
||||
|
||||
await deleteFile(localStorageFilePath);
|
||||
} catch {
|
||||
// ignore error
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
injectionToken: requestChannelListenerInjectionToken,
|
||||
});
|
||||
|
||||
export default deleteClusterChannelHandlerInjectable;
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { requestChannelListenerInjectionToken } from "../../../../common/utils/channel/request-channel-listener-injection-token";
|
||||
import clustersThatAreBeingDeletedInjectable from "../../../../main/cluster/are-being-deleted.injectable";
|
||||
import setClusterAsDeletingChannelInjectable from "../common/set-as-deleting-channel.injectable";
|
||||
|
||||
const setClusterAsDeletingChannelHandlerInjectable = getInjectable({
|
||||
id: "set-cluster-as-deleting-channel-handler",
|
||||
instantiate: (di) => {
|
||||
const clustersThatAreBeingDeleted = di.inject(clustersThatAreBeingDeletedInjectable);
|
||||
|
||||
return {
|
||||
channel: di.inject(setClusterAsDeletingChannelInjectable),
|
||||
handler: (clusterId) => clustersThatAreBeingDeleted.add(clusterId),
|
||||
};
|
||||
},
|
||||
injectionToken: requestChannelListenerInjectionToken,
|
||||
});
|
||||
|
||||
export default setClusterAsDeletingChannelHandlerInjectable;
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import requestFromChannelInjectable from "../../../../renderer/utils/channel/request-from-channel.injectable";
|
||||
import clearClusterAsDeletingChannelInjectable from "../common/clear-as-deleting-channel.injectable";
|
||||
|
||||
export type RequestClearClusterAsDeleting = (clusterId: ClusterId) => Promise<void>;
|
||||
|
||||
const requestClearClusterAsDeletingInjectable = getInjectable({
|
||||
id: "request-clear-cluster-as-deleting",
|
||||
instantiate: (di): RequestClearClusterAsDeleting => {
|
||||
const requestChannel = di.inject(requestFromChannelInjectable);
|
||||
const clearClusterAsDeletingChannel = di.inject(clearClusterAsDeletingChannelInjectable);
|
||||
|
||||
return (clusterId) => requestChannel(clearClusterAsDeletingChannel, clusterId);
|
||||
},
|
||||
});
|
||||
|
||||
export default requestClearClusterAsDeletingInjectable;
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import requestFromChannelInjectable from "../../../../renderer/utils/channel/request-from-channel.injectable";
|
||||
import deleteClusterChannelInjectable from "../common/delete-channel.injectable";
|
||||
|
||||
export type RequestDeleteCluster = (clusterId: ClusterId) => Promise<void>;
|
||||
|
||||
const requestDeleteClusterInjectable = getInjectable({
|
||||
id: "request-delete-cluster",
|
||||
instantiate: (di): RequestDeleteCluster => {
|
||||
const requestChannel = di.inject(requestFromChannelInjectable);
|
||||
const deleteClusterChannel = di.inject(deleteClusterChannelInjectable);
|
||||
|
||||
return (clusterId) => requestChannel(deleteClusterChannel, clusterId);
|
||||
},
|
||||
});
|
||||
|
||||
export default requestDeleteClusterInjectable;
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { ClusterId } from "../../../../common/cluster-types";
|
||||
import requestFromChannelInjectable from "../../../../renderer/utils/channel/request-from-channel.injectable";
|
||||
import setClusterAsDeletingChannelInjectable from "../common/set-as-deleting-channel.injectable";
|
||||
|
||||
export type RequestSetClusterAsDeleting = (clusterId: ClusterId) => Promise<void>;
|
||||
|
||||
const requestSetClusterAsDeletingInjectable = getInjectable({
|
||||
id: "request-set-cluster-as-deleting",
|
||||
instantiate: (di): RequestSetClusterAsDeleting => {
|
||||
const requestChannel = di.inject(requestFromChannelInjectable);
|
||||
const setClusterAsDeletingChannel = di.inject(setClusterAsDeletingChannelInjectable);
|
||||
|
||||
return (clusterId) => requestChannel(setClusterAsDeletingChannel, clusterId);
|
||||
},
|
||||
});
|
||||
|
||||
export default requestSetClusterAsDeletingInjectable;
|
||||
+12
-3
@@ -310,6 +310,7 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given extension shou
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -319,7 +320,9 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given extension shou
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -817,6 +820,7 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given extension shou
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -826,7 +830,9 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given extension shou
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1324,6 +1330,7 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given not yet known
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1333,7 +1340,9 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given not yet known
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+12
-3
@@ -448,6 +448,7 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -457,7 +458,9 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -955,6 +958,7 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -964,7 +968,9 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1462,6 +1468,7 @@ exports[`disable sidebar items when cluster is not relevant given not yet known
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1471,7 +1478,9 @@ exports[`disable sidebar items when cluster is not relevant given not yet known
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+12
-3
@@ -367,6 +367,7 @@ exports[`disable kube object detail items when cluster is not relevant given ext
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -376,7 +377,9 @@ exports[`disable kube object detail items when cluster is not relevant given ext
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -849,6 +852,7 @@ exports[`disable kube object detail items when cluster is not relevant given ext
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -858,7 +862,9 @@ exports[`disable kube object detail items when cluster is not relevant given ext
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1331,6 +1337,7 @@ exports[`disable kube object detail items when cluster is not relevant given not
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1340,7 +1347,9 @@ exports[`disable kube object detail items when cluster is not relevant given not
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+12
-3
@@ -315,6 +315,7 @@ exports[`disable kube object menu items when cluster is not relevant given exten
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -324,7 +325,9 @@ exports[`disable kube object menu items when cluster is not relevant given exten
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -701,6 +704,7 @@ exports[`disable kube object menu items when cluster is not relevant given exten
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -710,7 +714,9 @@ exports[`disable kube object menu items when cluster is not relevant given exten
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1087,6 +1093,7 @@ exports[`disable kube object menu items when cluster is not relevant given not y
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1096,7 +1103,9 @@ exports[`disable kube object menu items when cluster is not relevant given not y
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+24
-6
@@ -304,6 +304,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -313,7 +314,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -725,6 +728,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -734,7 +738,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1146,6 +1152,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1155,7 +1162,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1527,6 +1536,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1536,7 +1546,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1908,6 +1920,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1917,7 +1930,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2329,6 +2344,7 @@ exports[`show status for a kube object given application starts and in test page
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2338,7 +2354,9 @@ exports[`show status for a kube object given application starts and in test page
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+12
-3
@@ -344,6 +344,7 @@ exports[`disable kube object statuses when cluster is not relevant given extensi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -353,7 +354,9 @@ exports[`disable kube object statuses when cluster is not relevant given extensi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -725,6 +728,7 @@ exports[`disable kube object statuses when cluster is not relevant given extensi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -734,7 +738,9 @@ exports[`disable kube object statuses when cluster is not relevant given extensi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1106,6 +1112,7 @@ exports[`disable kube object statuses when cluster is not relevant given not yet
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1115,7 +1122,9 @@ exports[`disable kube object statuses when cluster is not relevant given not yet
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+64
-16
@@ -548,6 +548,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -557,7 +558,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1183,6 +1186,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1192,7 +1196,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1823,6 +1829,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1832,7 +1839,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2532,6 +2541,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2541,7 +2551,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2581,6 +2593,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2590,7 +2603,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3216,6 +3231,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3225,7 +3241,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3265,6 +3283,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3274,7 +3293,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3972,6 +3993,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3981,7 +4003,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4021,6 +4045,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -4030,7 +4055,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4730,6 +4757,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -4739,7 +4767,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -5453,6 +5483,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -5462,7 +5493,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -6171,6 +6204,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -6180,7 +6214,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -6880,6 +6916,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -6889,7 +6926,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -7589,6 +7628,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -7598,7 +7638,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -8845,6 +8887,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -8854,7 +8897,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -10657,6 +10702,7 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -10666,7 +10712,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+8
-2
@@ -455,6 +455,7 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -464,7 +465,9 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -997,6 +1000,7 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1006,7 +1010,9 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -22,7 +22,6 @@ import pathExistsInjectable from "../../common/fs/path-exists.injectable";
|
||||
import readJsonFileInjectable from "../../common/fs/read-json-file.injectable";
|
||||
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
|
||||
import sidebarStorageInjectable from "../../renderer/components/layout/sidebar-storage/sidebar-storage.injectable";
|
||||
import hostedClusterIdInjectable from "../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import { advanceFakeTime, useFakeTime } from "../../common/test-utils/use-fake-time";
|
||||
import storageSaveDelayInjectable from "../../renderer/utils/create-storage/storage-save-delay.injectable";
|
||||
|
||||
@@ -38,7 +37,6 @@ describe("cluster - sidebar and tab navigation for core", () => {
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-hosted-cluster-id");
|
||||
windowDi.override(storageSaveDelayInjectable, () => 250);
|
||||
|
||||
windowDi.override(
|
||||
@@ -98,7 +96,7 @@ describe("cluster - sidebar and tab navigation for core", () => {
|
||||
const writeJsonFileFake = windowDi.inject(writeJsonFileInjectable);
|
||||
|
||||
await writeJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
{
|
||||
sidebar: {
|
||||
expanded: { "some-parent-id": true },
|
||||
@@ -286,7 +284,7 @@ describe("cluster - sidebar and tab navigation for core", () => {
|
||||
const readJsonFileFake = windowDi.inject(readJsonFileInjectable);
|
||||
|
||||
const actual = await readJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
);
|
||||
|
||||
expect(actual).toEqual({
|
||||
|
||||
@@ -15,7 +15,6 @@ import pathExistsInjectable from "../../common/fs/path-exists.injectable";
|
||||
import readJsonFileInjectable from "../../common/fs/read-json-file.injectable";
|
||||
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
|
||||
import assert from "assert";
|
||||
import hostedClusterIdInjectable from "../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import { advanceFakeTime, useFakeTime } from "../../common/test-utils/use-fake-time";
|
||||
import type { IObservableValue } from "mobx";
|
||||
import { runInAction, computed, observable } from "mobx";
|
||||
@@ -34,7 +33,6 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
applicationBuilder.setEnvironmentToClusterFrame();
|
||||
|
||||
applicationBuilder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-hosted-cluster-id");
|
||||
windowDi.override(storageSaveDelayInjectable, () => 250);
|
||||
|
||||
windowDi.override(
|
||||
@@ -178,7 +176,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
const writeJsonFileFake = windowDi.inject(writeJsonFileInjectable);
|
||||
|
||||
await writeJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
{
|
||||
sidebar: {
|
||||
expanded: { "some-extension-name-some-parent-id": true },
|
||||
@@ -214,7 +212,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
const writeJsonFileFake = windowDi.inject(writeJsonFileInjectable);
|
||||
|
||||
await writeJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
{
|
||||
sidebar: {
|
||||
expanded: { "some-extension-name-some-unknown-parent-id": true },
|
||||
@@ -244,7 +242,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
const writeJsonFileFake = windowDi.inject(writeJsonFileInjectable);
|
||||
|
||||
await writeJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
{
|
||||
someThingButSidebar: {},
|
||||
},
|
||||
@@ -390,7 +388,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
const pathExistsFake = windowDi.inject(pathExistsInjectable);
|
||||
|
||||
const actual = await pathExistsFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
);
|
||||
|
||||
expect(actual).toBe(false);
|
||||
@@ -402,7 +400,7 @@ describe("cluster - sidebar and tab navigation for extensions", () => {
|
||||
const readJsonFileFake = windowDi.inject(readJsonFileInjectable);
|
||||
|
||||
const actual = await readJsonFileFake(
|
||||
"/some-directory-for-lens-local-storage/some-hosted-cluster-id.json",
|
||||
"/some-directory-for-lens-local-storage/some-cluster-id.json",
|
||||
);
|
||||
|
||||
expect(actual).toEqual({
|
||||
|
||||
+12
-3
@@ -435,6 +435,7 @@ exports[`disable workloads overview details when cluster is not relevant given e
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -444,7 +445,9 @@ exports[`disable workloads overview details when cluster is not relevant given e
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -942,6 +945,7 @@ exports[`disable workloads overview details when cluster is not relevant given e
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -951,7 +955,9 @@ exports[`disable workloads overview details when cluster is not relevant given e
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1449,6 +1455,7 @@ exports[`disable workloads overview details when cluster is not relevant given n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1458,7 +1465,9 @@ exports[`disable workloads overview details when cluster is not relevant given n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+26
-26
@@ -272,7 +272,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -303,7 +303,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -850,7 +850,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -881,7 +881,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1439,7 +1439,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1470,7 +1470,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2139,7 +2139,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2170,7 +2170,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2736,7 +2736,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2767,7 +2767,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3436,7 +3436,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3467,7 +3467,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4318,7 +4318,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4349,7 +4349,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5018,7 +5018,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5049,7 +5049,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5900,7 +5900,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5931,7 +5931,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -6601,7 +6601,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -6632,7 +6632,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -6916,7 +6916,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="Animate opacity-scale Dialog flex center AddHelmRepoDialog modal enter leave"
|
||||
class="Animate opacity-scale Dialog flex center AddHelmRepoDialog modal enter"
|
||||
style="--enter-duration: 100ms; --leave-duration: 100ms;"
|
||||
>
|
||||
<div
|
||||
@@ -7198,7 +7198,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -7229,7 +7229,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -7502,7 +7502,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="Animate opacity-scale Dialog flex center AddHelmRepoDialog modal enter leave"
|
||||
class="Animate opacity-scale Dialog flex center AddHelmRepoDialog modal enter"
|
||||
style="--enter-duration: 100ms; --leave-duration: 100ms;"
|
||||
>
|
||||
<div
|
||||
@@ -7784,7 +7784,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -7815,7 +7815,7 @@ exports[`add custom helm repository in preferences when navigating to preference
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
|
||||
+20
-20
@@ -272,7 +272,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -303,7 +303,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -850,7 +850,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -881,7 +881,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1439,7 +1439,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1470,7 +1470,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2081,7 +2081,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2112,7 +2112,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2670,7 +2670,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2701,7 +2701,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3259,7 +3259,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3290,7 +3290,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3837,7 +3837,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3868,7 +3868,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4460,7 +4460,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4491,7 +4491,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5146,7 +5146,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5177,7 +5177,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5769,7 +5769,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5800,7 +5800,7 @@ exports[`add helm repository from list in preferences when navigating to prefere
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
|
||||
+20
-20
@@ -272,7 +272,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -303,7 +303,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -850,7 +850,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -881,7 +881,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1428,7 +1428,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1459,7 +1459,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1898,7 +1898,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1929,7 +1929,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2476,7 +2476,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2507,7 +2507,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2946,7 +2946,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2977,7 +2977,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3524,7 +3524,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -3555,7 +3555,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4147,7 +4147,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4178,7 +4178,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4617,7 +4617,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -4648,7 +4648,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5087,7 +5087,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -5118,7 +5118,7 @@ exports[`listing active helm repositories in preferences when navigating to pref
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
|
||||
+8
-8
@@ -272,7 +272,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -303,7 +303,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -850,7 +850,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -881,7 +881,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1439,7 +1439,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -1470,7 +1470,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2028,7 +2028,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -2059,7 +2059,7 @@ exports[`remove helm repository from list of active repositories in preferences
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
|
||||
@@ -17,6 +17,7 @@ import isPathInjectable from "../../renderer/components/input/validators/is-path
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import type { AsyncResult } from "../../common/utils/async-result";
|
||||
import { useFakeTime } from "../../common/test-utils/use-fake-time";
|
||||
|
||||
describe("add custom helm repository in preferences", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
@@ -33,6 +34,8 @@ describe("add custom helm repository in preferences", () => {
|
||||
|
||||
builder = getApplicationBuilder();
|
||||
|
||||
useFakeTime("2021-01-01 12:00:00");
|
||||
|
||||
execFileMock = asyncFn();
|
||||
getActiveHelmRepositoriesMock = asyncFn();
|
||||
showSuccessNotificationMock = jest.fn();
|
||||
|
||||
+80
-20
@@ -2010,6 +2010,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2019,7 +2020,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2765,6 +2768,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2774,7 +2778,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3764,6 +3770,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3773,7 +3780,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4737,6 +4746,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -4746,7 +4756,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -5705,6 +5717,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -5714,7 +5727,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -6673,6 +6688,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -6682,7 +6698,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -7663,6 +7681,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -7672,7 +7691,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -8662,6 +8683,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -8671,7 +8693,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -9630,6 +9654,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -9639,7 +9664,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -10653,6 +10680,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -10662,7 +10690,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -12261,6 +12291,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -12270,7 +12301,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -13109,6 +13142,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -13118,7 +13152,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -14323,6 +14359,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -14332,7 +14369,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -14372,6 +14411,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -14381,7 +14421,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -15127,6 +15169,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -15136,7 +15179,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -15176,6 +15221,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -15185,7 +15231,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -16146,6 +16194,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -16155,7 +16204,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -16195,6 +16246,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-second-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -16204,7 +16256,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-second-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -17163,6 +17217,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -17172,7 +17227,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -18131,6 +18188,7 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -18140,7 +18198,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+8
-2
@@ -430,6 +430,7 @@ exports[`installing helm chart from previously opened tab given tab for installi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -439,7 +440,9 @@ exports[`installing helm chart from previously opened tab given tab for installi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -947,6 +950,7 @@ exports[`installing helm chart from previously opened tab given tab for installi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-first-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -956,7 +960,9 @@ exports[`installing helm chart from previously opened tab given tab for installi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-first-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+6
-9
@@ -434,14 +434,8 @@ exports[`opening dock tab for installing helm chart given application is started
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="NoItems flex box grow"
|
||||
>
|
||||
<div
|
||||
class="box center"
|
||||
>
|
||||
Item list is empty
|
||||
</div>
|
||||
</div>
|
||||
class="Spinner singleColor center"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="AddRemoveButtons flex gaps"
|
||||
@@ -6194,6 +6188,7 @@ exports[`opening dock tab for installing helm chart given application is started
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -6203,7 +6198,9 @@ exports[`opening dock tab for installing helm chart given application is started
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+71
-122
@@ -8,98 +8,56 @@ import type { RenderResult } from "@testing-library/react";
|
||||
import { fireEvent } from "@testing-library/react";
|
||||
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import type { CallForHelmCharts } from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
|
||||
import callForHelmChartsInjectable from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
|
||||
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
|
||||
import type { CallForHelmChartValues } from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
|
||||
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
|
||||
import type { CallForCreateHelmRelease } from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import type { RequestCreateHelmRelease } from "../../../common/k8s-api/endpoints/helm-releases.api/request-create.injectable";
|
||||
import requestCreateHelmReleaseInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-create.injectable";
|
||||
import currentPathInjectable from "../../../renderer/routes/current-path.injectable";
|
||||
import namespaceStoreInjectable from "../../../renderer/components/+namespaces/store.injectable";
|
||||
import type { NamespaceStore } from "../../../renderer/components/+namespaces/store";
|
||||
import type { CallForHelmChartReadme } from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
|
||||
import callForHelmChartReadmeInjectable from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
|
||||
import type { CallForHelmChartVersions } from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import callForHelmChartVersionsInjectable from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import writeJsonFileInjectable from "../../../common/fs/write-json-file.injectable";
|
||||
import directoryForLensLocalStorageInjectable from "../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
|
||||
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
|
||||
import readJsonFileInjectable from "../../../common/fs/read-json-file.injectable";
|
||||
import type { DiContainer } from "@ogre-tools/injectable";
|
||||
import callForHelmReleasesInjectable from "../../../renderer/components/+helm-releases/call-for-helm-releases/call-for-helm-releases.injectable";
|
||||
import callForHelmReleaseDetailsInjectable from "../../../renderer/components/+helm-releases/release-details/release-details-model/call-for-helm-release/call-for-helm-release-details/call-for-helm-release-details.injectable";
|
||||
import type { RequestHelmCharts } from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import type { RequestHelmChartReadme } from "../../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import type { RequestHelmChartValues } from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import requestHelmChartsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import requestHelmChartReadmeInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import type { RequestDetailedHelmRelease } from "../../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import requestDetailedHelmReleaseInjectable from "../../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
|
||||
describe("installing helm chart from new tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
|
||||
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
|
||||
let callForCreateHelmReleaseMock: AsyncFnMock<CallForCreateHelmRelease>;
|
||||
let requestDetailedHelmReleaseMock: AsyncFnMock<RequestDetailedHelmRelease>;
|
||||
let requestHelmChartsMock: AsyncFnMock<RequestHelmCharts>;
|
||||
let requestHelmChartVersionsMock: AsyncFnMock<RequestHelmChartVersions>;
|
||||
let requestHelmChartReadmeMock: AsyncFnMock<RequestHelmChartReadme>;
|
||||
let requestHelmChartValuesMock: AsyncFnMock<RequestHelmChartValues>;
|
||||
let requestCreateHelmReleaseMock: AsyncFnMock<RequestCreateHelmRelease>;
|
||||
|
||||
beforeEach(() => {
|
||||
builder = getApplicationBuilder();
|
||||
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
callForHelmChartsMock = asyncFn();
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartReadmeMock = asyncFn();
|
||||
callForHelmChartValuesMock = asyncFn();
|
||||
callForCreateHelmReleaseMock = asyncFn();
|
||||
requestDetailedHelmReleaseMock = asyncFn();
|
||||
requestHelmChartsMock = asyncFn();
|
||||
requestHelmChartVersionsMock = asyncFn();
|
||||
requestHelmChartReadmeMock = asyncFn();
|
||||
requestHelmChartValuesMock = asyncFn();
|
||||
requestCreateHelmReleaseMock = asyncFn();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(callForHelmReleasesInjectable, () => async () => []);
|
||||
windowDi.override(callForHelmReleaseDetailsInjectable, () => () => new Promise(() => {}));
|
||||
|
||||
windowDi.override(
|
||||
directoryForLensLocalStorageInjectable,
|
||||
() => "/some-directory-for-lens-local-storage",
|
||||
);
|
||||
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartsInjectable,
|
||||
() => callForHelmChartsMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartVersionsInjectable,
|
||||
() => callForHelmChartVersionsMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartReadmeInjectable,
|
||||
() => callForHelmChartReadmeMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
() => callForCreateHelmReleaseMock,
|
||||
);
|
||||
|
||||
// TODO: Replace store mocking with mock for the actual side-effect (where the namespaces are coming from)
|
||||
windowDi.override(
|
||||
namespaceStoreInjectable,
|
||||
() =>
|
||||
({
|
||||
contextNamespaces: [],
|
||||
items: [
|
||||
{ getName: () => "default" },
|
||||
{ getName: () => "some-other-namespace" },
|
||||
],
|
||||
selectNamespaces: () => {},
|
||||
} as unknown as NamespaceStore),
|
||||
);
|
||||
windowDi.override(directoryForLensLocalStorageInjectable, () => "/some-directory-for-lens-local-storage");
|
||||
windowDi.override(requestDetailedHelmReleaseInjectable, () => requestDetailedHelmReleaseMock);
|
||||
windowDi.override(requestHelmChartsInjectable, () => requestHelmChartsMock);
|
||||
windowDi.override(requestHelmChartVersionsInjectable, () => requestHelmChartVersionsMock);
|
||||
windowDi.override(requestHelmChartReadmeInjectable, () => requestHelmChartReadmeMock);
|
||||
windowDi.override(requestHelmChartValuesInjectable, () => requestHelmChartValuesMock);
|
||||
windowDi.override(requestCreateHelmReleaseInjectable, () => requestCreateHelmReleaseMock);
|
||||
|
||||
windowDi.override(getRandomInstallChartTabIdInjectable, () =>
|
||||
jest
|
||||
@@ -108,6 +66,9 @@ describe("installing helm chart from new tab", () => {
|
||||
.mockReturnValueOnce("some-second-tab-id"),
|
||||
);
|
||||
});
|
||||
|
||||
builder.namespaces.add("default");
|
||||
builder.namespaces.add("some-other-namespace");
|
||||
});
|
||||
|
||||
describe("given tab for installing chart was not previously opened and application is started", () => {
|
||||
@@ -136,7 +97,6 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
// TODO: Make TerminalWindow unit testable to allow realistic behaviour
|
||||
dockStore.closeTab("terminal");
|
||||
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -144,14 +104,13 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
describe("when navigating to helm charts", () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
builder.helmCharts.navigate({
|
||||
chartName: "some-name",
|
||||
repo: "some-repository",
|
||||
});
|
||||
|
||||
await callForHelmChartsMock.resolve([
|
||||
await requestHelmChartsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@@ -185,7 +144,7 @@ describe("installing helm chart from new tab", () => {
|
||||
}),
|
||||
]);
|
||||
|
||||
await callForHelmChartVersionsMock.resolve([
|
||||
await requestHelmChartVersionsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@@ -219,7 +178,7 @@ describe("installing helm chart from new tab", () => {
|
||||
}),
|
||||
]);
|
||||
|
||||
await callForHelmChartReadmeMock.resolve("some-readme");
|
||||
await requestHelmChartReadmeMock.resolve("some-readme");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -228,7 +187,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when selecting to install the chart", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
|
||||
const installButton = rendered.getByTestId(
|
||||
"install-chart-for-some-repository-some-name",
|
||||
@@ -248,7 +207,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-version",
|
||||
@@ -256,7 +215,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for available versions", () => {
|
||||
expect(callForHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
);
|
||||
@@ -268,18 +227,8 @@ describe("installing helm chart from new tab", () => {
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("given default configuration resolves but versions have not resolved yet, still shows the spinner", async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
expect(
|
||||
rendered.getByTestId("install-chart-tab-spinner"),
|
||||
).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("given versions resolve but default configuration has not resolved yet, still shows the spinner", async () => {
|
||||
await callForHelmChartVersionsMock.resolve([]);
|
||||
await requestHelmChartVersionsMock.resolve([]);
|
||||
|
||||
expect(
|
||||
rendered.getByTestId("install-chart-tab-spinner"),
|
||||
@@ -288,11 +237,11 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when default configuration and versions resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
await callForHelmChartVersionsMock.resolve([
|
||||
await requestHelmChartVersionsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@@ -385,7 +334,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for installation with default configuration", () => {
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(requestCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
namespace: "default",
|
||||
@@ -397,7 +346,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when installation resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForCreateHelmReleaseMock.resolve({
|
||||
await requestCreateHelmReleaseMock.resolve({
|
||||
log: "some-execution-output",
|
||||
|
||||
release: {
|
||||
@@ -496,8 +445,8 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("given opening details for second chart, when details resolve", () => {
|
||||
beforeEach(async () => {
|
||||
callForHelmChartReadmeMock.mockClear();
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartReadmeMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
|
||||
const row = rendered.getByTestId(
|
||||
"helm-chart-row-for-some-repository-some-other-name",
|
||||
@@ -505,7 +454,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(row);
|
||||
|
||||
await callForHelmChartVersionsMock.resolve([
|
||||
await requestHelmChartVersionsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-other-name",
|
||||
@@ -523,7 +472,7 @@ describe("installing helm chart from new tab", () => {
|
||||
}),
|
||||
]);
|
||||
|
||||
await callForHelmChartReadmeMock.resolve("some-readme");
|
||||
await requestHelmChartReadmeMock.resolve("some-readme");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -532,7 +481,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when selecting to install second chart", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
|
||||
const installButton = rendered.getByTestId(
|
||||
"install-chart-for-some-repository-some-other-name",
|
||||
@@ -560,7 +509,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the second chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-other-name",
|
||||
"some-version",
|
||||
@@ -568,7 +517,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for available versions for the second chart", () => {
|
||||
expect(callForHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-other-name",
|
||||
);
|
||||
@@ -582,11 +531,11 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when configuration and versions resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-other-default-configuration",
|
||||
);
|
||||
|
||||
await callForHelmChartVersionsMock.resolve([]);
|
||||
await requestHelmChartVersionsMock.resolve([]);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -607,7 +556,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
requestCreateHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-other-name",
|
||||
name: undefined,
|
||||
@@ -620,8 +569,8 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when selecting the dock tab for installing first chart", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartValuesMock.mockClear();
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartValuesMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
|
||||
const tab = rendered.getByTestId(
|
||||
"dock-tab-for-some-first-tab-id",
|
||||
@@ -636,13 +585,13 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
it("does not call for default configuration", () => {
|
||||
expect(
|
||||
callForHelmChartValuesMock,
|
||||
requestHelmChartValuesMock,
|
||||
).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not call for available versions", () => {
|
||||
expect(
|
||||
callForHelmChartVersionsMock,
|
||||
requestHelmChartVersionsMock,
|
||||
).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@@ -660,7 +609,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
requestCreateHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@@ -679,8 +628,8 @@ describe("installing helm chart from new tab", () => {
|
||||
let menu: { selectOption: (labelText: string) => void };
|
||||
|
||||
beforeEach(() => {
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
callForHelmChartValuesMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartValuesMock.mockClear();
|
||||
|
||||
const menuId =
|
||||
"install-chart-version-select-for-some-first-tab-id";
|
||||
@@ -708,7 +657,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration for the version of chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@@ -725,7 +674,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
it("does not call for versions again", () => {
|
||||
expect(
|
||||
callForHelmChartVersionsMock,
|
||||
requestHelmChartVersionsMock,
|
||||
).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@@ -747,7 +696,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when default configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
});
|
||||
@@ -772,7 +721,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
requestCreateHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@@ -829,7 +778,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(requestCreateHelmReleaseMock).toHaveBeenCalledWith(
|
||||
{
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@@ -892,7 +841,7 @@ describe("installing helm chart from new tab", () => {
|
||||
)
|
||||
.selectOption("some-other-version");
|
||||
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
|
||||
@@ -948,7 +897,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(requestCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
namespace: "default",
|
||||
@@ -965,7 +914,7 @@ describe("installing helm chart from new tab", () => {
|
||||
)
|
||||
.selectOption("some-other-version");
|
||||
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
|
||||
@@ -1014,7 +963,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(requestCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: "some-custom-name",
|
||||
namespace: "default",
|
||||
|
||||
+18
-39
@@ -9,23 +9,23 @@ import type { ApplicationBuilder } from "../../../renderer/components/test-utils
|
||||
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
|
||||
import type { CallForHelmChartValues } from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
|
||||
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
|
||||
import namespaceStoreInjectable from "../../../renderer/components/+namespaces/store.injectable";
|
||||
import type { NamespaceStore } from "../../../renderer/components/+namespaces/store";
|
||||
import type { CallForHelmChartVersions } from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import callForHelmChartVersionsInjectable from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import writeJsonFileInjectable from "../../../common/fs/write-json-file.injectable";
|
||||
import directoryForLensLocalStorageInjectable from "../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
|
||||
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import { TabKind } from "../../../renderer/components/dock/dock/store";
|
||||
import { controlWhenStoragesAreReady } from "../../../renderer/utils/create-storage/storages-are-ready";
|
||||
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import requestCreateHelmReleaseInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-create.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import type { RequestHelmChartValues } from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
|
||||
describe("installing helm chart from previously opened tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
|
||||
let requestHelmChartVersionsMock: AsyncFnMock<RequestHelmChartVersions>;
|
||||
let requestHelmChartValuesMock: AsyncFnMock<RequestHelmChartValues>;
|
||||
let storagesAreReady: () => Promise<void>;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -33,38 +33,17 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartValuesMock = asyncFn();
|
||||
requestHelmChartVersionsMock = asyncFn();
|
||||
requestHelmChartValuesMock = asyncFn();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(
|
||||
directoryForLensLocalStorageInjectable,
|
||||
() => "/some-directory-for-lens-local-storage",
|
||||
);
|
||||
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
|
||||
storagesAreReady = controlWhenStoragesAreReady(windowDi);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartVersionsInjectable,
|
||||
() => callForHelmChartVersionsMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
() => jest.fn(),
|
||||
);
|
||||
windowDi.override(directoryForLensLocalStorageInjectable, () => "/some-directory-for-lens-local-storage");
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
windowDi.override(requestHelmChartVersionsInjectable, () => requestHelmChartVersionsMock);
|
||||
windowDi.override(requestHelmChartValuesInjectable, () => requestHelmChartValuesMock);
|
||||
windowDi.override(requestCreateHelmReleaseInjectable, () => jest.fn());
|
||||
|
||||
// TODO: Replace store mocking with mock for the actual side-effect (where the namespaces are coming from)
|
||||
windowDi.override(
|
||||
@@ -154,7 +133,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@@ -162,7 +141,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
});
|
||||
|
||||
it("calls for available versions", () => {
|
||||
expect(callForHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
);
|
||||
@@ -170,11 +149,11 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
|
||||
describe("when configuration and version resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await requestHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
await callForHelmChartVersionsMock.resolve([
|
||||
await requestHelmChartVersionsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
|
||||
+33
-58
@@ -8,69 +8,44 @@ import type { RenderResult } from "@testing-library/react";
|
||||
import { fireEvent } from "@testing-library/react";
|
||||
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import type { CallForHelmCharts } from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
|
||||
import callForHelmChartsInjectable from "../../../renderer/components/+helm-charts/helm-charts/call-for-helm-charts.injectable";
|
||||
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import getRandomInstallChartTabIdInjectable from "../../../renderer/components/dock/install-chart/get-random-install-chart-tab-id.injectable";
|
||||
import callForHelmChartValuesInjectable from "../../../renderer/components/dock/install-chart/chart-data/call-for-helm-chart-values.injectable";
|
||||
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import type { CallForHelmChartReadme } from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
|
||||
import callForHelmChartReadmeInjectable from "../../../renderer/components/+helm-charts/details/readme/call-for-helm-chart-readme.injectable";
|
||||
import type { CallForHelmChartVersions } from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import callForHelmChartVersionsInjectable from "../../../renderer/components/+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import requestCreateHelmReleaseInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-create.injectable";
|
||||
import { flushPromises } from "../../../common/test-utils/flush-promises";
|
||||
import directoryForLensLocalStorageInjectable from "../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
|
||||
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
|
||||
import type { RequestHelmCharts } from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import type { RequestHelmChartReadme } from "../../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import requestHelmChartsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import requestHelmChartReadmeInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
|
||||
describe("opening dock tab for installing helm chart", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
|
||||
let callForHelmChartValuesMock: jest.Mock;
|
||||
let requestHelmChartsMock: AsyncFnMock<RequestHelmCharts>;
|
||||
let requestHelmChartVersionsMock: AsyncFnMock<RequestHelmChartVersions>;
|
||||
let requestHelmChartReadmeMock: AsyncFnMock<RequestHelmChartReadme>;
|
||||
let requestHelmChartValuesMock: jest.Mock;
|
||||
|
||||
beforeEach(() => {
|
||||
builder = getApplicationBuilder();
|
||||
|
||||
callForHelmChartsMock = asyncFn();
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartReadmeMock = asyncFn();
|
||||
callForHelmChartValuesMock = jest.fn();
|
||||
requestHelmChartsMock = asyncFn();
|
||||
requestHelmChartVersionsMock = asyncFn();
|
||||
requestHelmChartReadmeMock = asyncFn();
|
||||
requestHelmChartValuesMock = jest.fn();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(
|
||||
directoryForLensLocalStorageInjectable,
|
||||
() => "/some-directory-for-lens-local-storage",
|
||||
);
|
||||
|
||||
windowDi.override(directoryForLensLocalStorageInjectable, () => "/some-directory-for-lens-local-storage");
|
||||
windowDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartsInjectable,
|
||||
() => callForHelmChartsMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartVersionsInjectable,
|
||||
() => callForHelmChartVersionsMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartReadmeInjectable,
|
||||
() => callForHelmChartReadmeMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
() => jest.fn(),
|
||||
);
|
||||
|
||||
windowDi.override(requestHelmChartsInjectable, () => requestHelmChartsMock);
|
||||
windowDi.override(requestHelmChartVersionsInjectable, () => requestHelmChartVersionsMock);
|
||||
windowDi.override(requestHelmChartReadmeInjectable, () => requestHelmChartReadmeMock);
|
||||
windowDi.override(requestHelmChartValuesInjectable, () => requestHelmChartValuesMock);
|
||||
windowDi.override(requestCreateHelmReleaseInjectable, () => jest.fn());
|
||||
windowDi.override(getRandomInstallChartTabIdInjectable, () =>
|
||||
jest
|
||||
.fn(() => "some-irrelevant-tab-id")
|
||||
@@ -102,12 +77,12 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
});
|
||||
|
||||
it("calls for charts", () => {
|
||||
expect(callForHelmChartsMock).toHaveBeenCalled();
|
||||
expect(requestHelmChartsMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
describe("when charts resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartsMock.resolve([
|
||||
await requestHelmChartsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@@ -160,7 +135,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
});
|
||||
|
||||
it("calls for chart versions", () => {
|
||||
expect(callForHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartVersionsMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
);
|
||||
@@ -174,7 +149,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
describe("when chart versions resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartVersionsMock.resolve([
|
||||
await requestHelmChartVersionsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@@ -210,7 +185,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
});
|
||||
|
||||
it("calls for chart readme for the version", () => {
|
||||
expect(callForHelmChartReadmeMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartReadmeMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-version",
|
||||
@@ -243,7 +218,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
describe("when readme resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartReadmeMock.resolve("some-readme");
|
||||
await requestHelmChartReadmeMock.resolve("some-readme");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -258,7 +233,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
describe("when selecting different version", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartReadmeMock.mockClear();
|
||||
requestHelmChartReadmeMock.mockClear();
|
||||
|
||||
builder.select
|
||||
.openMenu(
|
||||
@@ -280,7 +255,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
});
|
||||
|
||||
it("calls for chart readme for the version", () => {
|
||||
expect(callForHelmChartReadmeMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartReadmeMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@@ -289,7 +264,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
describe("when readme resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartReadmeMock.resolve("some-readme");
|
||||
await requestHelmChartReadmeMock.resolve("some-readme");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
@@ -305,7 +280,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
await flushPromises();
|
||||
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@@ -316,7 +291,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
describe("when selecting to install the chart", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
requestHelmChartVersionsMock.mockClear();
|
||||
|
||||
const installButton = rendered.getByTestId(
|
||||
"install-chart-for-some-repository-some-name",
|
||||
|
||||
@@ -10,7 +10,7 @@ import readYamlFileInjectable from "../../common/fs/read-yaml-file.injectable";
|
||||
import type { AsyncFnMock } from "@async-fn/jest";
|
||||
import asyncFn from "@async-fn/jest";
|
||||
import type { HelmRepositoriesFromYaml } from "../../main/helm/repositories/get-active-helm-repositories/get-active-helm-repositories.injectable";
|
||||
import execFileInjectable from "../../common/fs/exec-file.injectable";
|
||||
import execFileInjectable, { type ExecFile } from "../../common/fs/exec-file.injectable";
|
||||
import helmBinaryPathInjectable from "../../main/helm/helm-binary-path.injectable";
|
||||
import loggerInjectable from "../../common/logger.injectable";
|
||||
import type { Logger } from "../../common/logger";
|
||||
@@ -21,7 +21,7 @@ describe("listing active helm repositories in preferences", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let rendered: RenderResult;
|
||||
let readYamlFileMock: AsyncFnMock<ReadYamlFile>;
|
||||
let execFileMock: AsyncFnMock<ReturnType<typeof execFileInjectable["instantiate"]>>;
|
||||
let execFileMock: AsyncFnMock<ExecFile>;
|
||||
let loggerStub: Logger;
|
||||
let showErrorNotificationMock: jest.Mock;
|
||||
|
||||
|
||||
+5785
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,268 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type { AsyncFnMock } from "@async-fn/jest";
|
||||
import asyncFn from "@async-fn/jest";
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import type { NavigateToHelmReleases } from "../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable";
|
||||
import navigateToHelmReleasesInjectable from "../../../common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable";
|
||||
import { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import type { RequestHelmCharts } from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import requestHelmChartsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import type { RequestHelmReleaseConfiguration } from "../../../common/k8s-api/endpoints/helm-releases.api/request-configuration.injectable";
|
||||
import requestHelmReleaseConfigurationInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-configuration.injectable";
|
||||
import type { RequestHelmReleases } from "../../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import requestHelmReleasesInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import { advanceFakeTime, useFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
|
||||
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
import { getApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
|
||||
|
||||
describe("New Upgrade Helm Chart Dock Tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let renderResult: RenderResult;
|
||||
let requestHelmReleaseConfigurationMock: AsyncFnMock<RequestHelmReleaseConfiguration>;
|
||||
let requestHelmReleasesMock: AsyncFnMock<RequestHelmReleases>;
|
||||
let requestHelmChartsMock: AsyncFnMock<RequestHelmCharts>;
|
||||
let requestHelmChartVersionsMock: AsyncFnMock<RequestHelmChartVersions>;
|
||||
let navigateToHelmReleases: NavigateToHelmReleases;
|
||||
|
||||
beforeEach(async () => {
|
||||
builder = getApplicationBuilder();
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
requestHelmReleaseConfigurationMock = asyncFn();
|
||||
windowDi.override(requestHelmReleaseConfigurationInjectable, () => requestHelmReleaseConfigurationMock);
|
||||
|
||||
requestHelmReleasesMock = asyncFn();
|
||||
windowDi.override(requestHelmReleasesInjectable, () => requestHelmReleasesMock);
|
||||
|
||||
requestHelmChartsMock = asyncFn();
|
||||
windowDi.override(requestHelmChartsInjectable, () => requestHelmChartsMock);
|
||||
|
||||
requestHelmChartVersionsMock = asyncFn();
|
||||
windowDi.override(requestHelmChartVersionsInjectable, () => requestHelmChartVersionsMock);
|
||||
|
||||
navigateToHelmReleases = windowDi.inject(navigateToHelmReleasesInjectable);
|
||||
});
|
||||
|
||||
useFakeTime("2020-01-12 12:00:00");
|
||||
|
||||
builder.namespaces.add("my-first-namespace");
|
||||
builder.namespaces.add("my-second-namespace");
|
||||
|
||||
renderResult = await builder.render();
|
||||
|
||||
const dockStore = builder.applicationWindow.only.di.inject(dockStoreInjectable);
|
||||
|
||||
// TODO: Make TerminalWindow unit testable to allow realistic behaviour
|
||||
dockStore.closeTab("terminal");
|
||||
});
|
||||
|
||||
describe("given a namespace is selected", () => {
|
||||
beforeEach(() => {
|
||||
builder.namespaces.select("my-second-namespace");
|
||||
});
|
||||
|
||||
describe("when navigating to the helm releases view", () => {
|
||||
beforeEach(() => {
|
||||
navigateToHelmReleases();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("requests helm releases for the selected namespace", () => {
|
||||
expect(requestHelmReleasesMock).toBeCalledWith("my-second-namespace");
|
||||
});
|
||||
|
||||
describe("when helm releases resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await requestHelmReleasesMock.resolve([
|
||||
{
|
||||
appVersion: "some-app-version",
|
||||
name: "some-name",
|
||||
namespace: "my-second-namespace",
|
||||
chart: "some-chart-1.0.0",
|
||||
status: "some-status",
|
||||
updated: "some-updated",
|
||||
revision: "some-revision",
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
describe("when clicking the menu for a helm release", () => {
|
||||
beforeEach(() => {
|
||||
const helmReleaseMenu = renderResult.getByTestId("menu-actions-icon-for-release-menu-for-my-second-namespace/some-name");
|
||||
|
||||
helmReleaseMenu.click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
describe("when clicking the upgrade chart menu item", () => {
|
||||
beforeEach(() => {
|
||||
const upgradeHelmChartMenuItem = renderResult.getByTestId("upgrade-chart-menu-item-for-my-second-namespace/some-name");
|
||||
|
||||
upgradeHelmChartMenuItem.click();
|
||||
advanceFakeTime(100);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("requests all helm charts", () => {
|
||||
expect(requestHelmChartsMock).toBeCalled();
|
||||
});
|
||||
|
||||
describe("when request for all helm charts resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await requestHelmChartsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.0",
|
||||
created: "at-some-time",
|
||||
name: "some-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.0",
|
||||
created: "at-some-third-time",
|
||||
name: "some-chart",
|
||||
repo: "some-third-repo",
|
||||
}),
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "0.9.0",
|
||||
created: "at-some-other-time",
|
||||
name: "some-other-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
it("requests versions of the helm charts", () => {
|
||||
expect(requestHelmChartVersionsMock).toBeCalledWith(
|
||||
"some-repo",
|
||||
"some-chart",
|
||||
);
|
||||
expect(requestHelmChartVersionsMock).toBeCalledWith(
|
||||
"some-third-repo",
|
||||
"some-chart",
|
||||
);
|
||||
});
|
||||
|
||||
it("shows the dock tab of the upgrade chart tab", () => {
|
||||
expect(renderResult.queryByTestId("dock-tab-content-for-some-irrelevant-random-id")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("does not yet show the dock contents of the upgrade chart tab", () => {
|
||||
expect(renderResult.queryByTestId("upgrade-chart-dock-tab-contents-for-my-second-namespace/some-name")).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
describe("when the requests of versions of the helm charts resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await requestHelmChartVersionsMock.resolveSpecific(
|
||||
["some-repo", "some-chart"],
|
||||
[
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.0",
|
||||
created: "at-some-time",
|
||||
name: "some-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.1",
|
||||
created: "at-some-time",
|
||||
name: "some-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
],
|
||||
);
|
||||
|
||||
await requestHelmChartVersionsMock.resolveSpecific(
|
||||
["some-third-repo", "some-chart"],
|
||||
[
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "0.9.0",
|
||||
created: "at-some-other-time",
|
||||
name: "some-other-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "0.9.1",
|
||||
created: "at-some-other-time",
|
||||
name: "some-other-chart",
|
||||
repo: "some-repo",
|
||||
}),
|
||||
],
|
||||
);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("shows the dock contents of the upgrade chart tab", () => {
|
||||
expect(renderResult.queryByTestId("upgrade-chart-dock-tab-contents-for-my-second-namespace/some-name")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("requests the configuration for the specific helm release", () => {
|
||||
expect(requestHelmReleaseConfigurationMock).toBeCalledWith(
|
||||
"some-name",
|
||||
"my-second-namespace",
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
describe("when the configuration request resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await requestHelmReleaseConfigurationMock.resolve("some confiration for the helm release");
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
describe("when closing the upgrade chart tab", () => {
|
||||
beforeEach(() => {
|
||||
const closeDockTab = renderResult.getByTestId("dock-tab-close-for-some-irrelevant-random-id");
|
||||
|
||||
closeDockTab.click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(renderResult.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does so", () => {
|
||||
expect(renderResult.queryByTestId("dock-tab-content-for-some-irrelevant-random-id")).not.toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
+148
-55
@@ -661,6 +661,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -670,7 +671,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1404,6 +1407,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1413,7 +1417,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -2131,7 +2137,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -2154,6 +2160,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -2212,7 +2219,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -2235,6 +2242,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -2315,6 +2323,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -2324,7 +2333,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -3042,7 +3053,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -3065,6 +3076,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -3123,7 +3135,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -3146,6 +3158,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -3226,6 +3239,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -3235,7 +3249,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4014,7 +4030,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -4037,6 +4053,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -4095,7 +4112,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -4118,6 +4135,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -4198,6 +4216,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -4207,7 +4226,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -4986,7 +5007,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -5009,6 +5030,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -5067,7 +5089,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -5090,6 +5112,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -5170,6 +5193,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -5179,7 +5203,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -5280,6 +5306,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -5365,7 +5392,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -5419,7 +5446,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -6210,7 +6239,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -6233,6 +6262,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -6291,7 +6321,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -6314,6 +6344,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -6394,6 +6425,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -6403,7 +6435,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -6504,6 +6538,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -6589,7 +6624,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -6643,7 +6678,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -7434,7 +7471,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -7457,6 +7494,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -7515,7 +7553,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -7538,6 +7576,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -7618,6 +7657,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -7627,7 +7667,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -7728,6 +7770,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -7813,7 +7856,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -7867,7 +7910,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -8008,7 +8053,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`showing details for helm release given application is started when navigating to helm releases when releases resolve when selecting release to see details when call for release resolve with release when configuration resolves when changing the configuration when saving when update resolves with failure renders 1`] = `
|
||||
exports[`showing details for helm release given application is started when navigating to helm releases when releases resolve when selecting release to see details when call for release resolve with release when configuration resolves when changing the configuration when saving when requestHelmCharts resolves when requestHelmChartVersions resolves when update resolves with failure renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div
|
||||
@@ -8669,6 +8714,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -8678,7 +8724,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -8779,6 +8827,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -8864,7 +8913,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -8918,7 +8967,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -9059,7 +9110,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`showing details for helm release given application is started when navigating to helm releases when releases resolve when selecting release to see details when call for release resolve with release when configuration resolves when changing the configuration when saving when update resolves with success renders 1`] = `
|
||||
exports[`showing details for helm release given application is started when navigating to helm releases when releases resolve when selecting release to see details when call for release resolve with release when configuration resolves when changing the configuration when saving when requestHelmCharts resolves when requestHelmChartVersions resolves when update resolves with success renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div
|
||||
@@ -9720,6 +9771,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -9729,7 +9781,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -9830,6 +9884,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -9915,7 +9970,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -9969,7 +10024,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -10762,7 +10819,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -10785,6 +10842,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -10843,7 +10901,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -10866,6 +10924,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -10946,6 +11005,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -10955,7 +11015,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -11056,6 +11118,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<li
|
||||
class="MenuItem"
|
||||
data-testid="upgrade-chart-menu-item-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
<i
|
||||
@@ -11141,7 +11204,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
class="flex gaps align-center"
|
||||
>
|
||||
<span>
|
||||
some-chart
|
||||
some-chart-1.0.0
|
||||
</span>
|
||||
<button
|
||||
class="Button box right upgrade primary"
|
||||
@@ -11195,7 +11258,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="version flex gaps align-center"
|
||||
>
|
||||
<span />
|
||||
<span>
|
||||
1.0.0
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
@@ -11986,7 +12051,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -12009,6 +12074,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -12067,7 +12133,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -12090,6 +12156,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -12170,6 +12237,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -12179,7 +12247,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -12219,6 +12289,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-some-tab-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -12228,7 +12299,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-some-tab-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -12955,7 +13028,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -12978,6 +13051,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -13036,7 +13110,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -13059,6 +13133,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -13139,6 +13214,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -13148,7 +13224,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -13930,7 +14008,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -13953,6 +14031,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -14011,7 +14090,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -14034,6 +14113,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -14114,6 +14194,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -14123,7 +14204,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -14841,7 +14924,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -14864,6 +14947,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -14922,7 +15006,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -14945,6 +15029,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -15025,6 +15110,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -15034,7 +15120,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -15813,7 +15901,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
1.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -15836,6 +15924,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-namespace/some-name"
|
||||
id="menu-actions-for-release-menu-for-some-namespace/some-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -15894,7 +15983,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div
|
||||
class="TableCell version"
|
||||
>
|
||||
|
||||
2.0.0
|
||||
</div>
|
||||
<div
|
||||
class="TableCell app-version"
|
||||
@@ -15917,6 +16006,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
<div>
|
||||
<i
|
||||
class="Icon material interactive focusable"
|
||||
data-testid="menu-actions-icon-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
id="menu-actions-for-release-menu-for-some-other-namespace/some-other-name"
|
||||
tabindex="0"
|
||||
>
|
||||
@@ -15997,6 +16087,7 @@ exports[`showing details for helm release given application is started when navi
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-terminal"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -16006,7 +16097,9 @@ exports[`showing details for helm release given application is started when navi
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-terminal"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,27 +9,38 @@ import type { RenderResult } from "@testing-library/react";
|
||||
import { fireEvent } from "@testing-library/react";
|
||||
import type { AsyncFnMock } from "@async-fn/jest";
|
||||
import asyncFn from "@async-fn/jest";
|
||||
import type { CallForHelmReleases } from "../../renderer/components/+helm-releases/call-for-helm-releases/call-for-helm-releases.injectable";
|
||||
import callForHelmReleasesInjectable from "../../renderer/components/+helm-releases/call-for-helm-releases/call-for-helm-releases.injectable";
|
||||
import namespaceStoreInjectable from "../../renderer/components/+namespaces/store.injectable";
|
||||
import type { NamespaceStore } from "../../renderer/components/+namespaces/store";
|
||||
import type { CallForHelmReleaseConfiguration } from "../../renderer/components/+helm-releases/release-details/release-details-model/call-for-helm-release-configuration/call-for-helm-release-configuration.injectable";
|
||||
import callForHelmReleaseConfigurationInjectable from "../../renderer/components/+helm-releases/release-details/release-details-model/call-for-helm-release-configuration/call-for-helm-release-configuration.injectable";
|
||||
import type { CallForHelmReleaseUpdate } from "../../renderer/components/+helm-releases/update-release/call-for-helm-release-update/call-for-helm-release-update.injectable";
|
||||
import callForHelmReleaseUpdateInjectable from "../../renderer/components/+helm-releases/update-release/call-for-helm-release-update/call-for-helm-release-update.injectable";
|
||||
import type { RequestHelmReleases } from "../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import requestHelmReleasesInjectable from "../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import type { RequestHelmReleaseConfiguration } from "../../common/k8s-api/endpoints/helm-releases.api/request-configuration.injectable";
|
||||
import requestHelmReleaseConfigurationInjectable from "../../common/k8s-api/endpoints/helm-releases.api/request-configuration.injectable";
|
||||
import type { RequestHelmReleaseUpdate } from "../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
|
||||
import requestHelmReleaseUpdateInjectable from "../../common/k8s-api/endpoints/helm-releases.api/request-update.injectable";
|
||||
import { useFakeTime } from "../../common/test-utils/use-fake-time";
|
||||
import type { CallForHelmRelease, DetailedHelmRelease } from "../../renderer/components/+helm-releases/release-details/release-details-model/call-for-helm-release/call-for-helm-release.injectable";
|
||||
import callForHelmReleaseInjectable from "../../renderer/components/+helm-releases/release-details/release-details-model/call-for-helm-release/call-for-helm-release.injectable";
|
||||
import type { RequestDetailedHelmRelease } from "../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import requestDetailedHelmReleaseInjectable from "../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
import showCheckedErrorInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
|
||||
import getRandomUpgradeChartTabIdInjectable from "../../renderer/components/dock/upgrade-chart/get-random-upgrade-chart-tab-id.injectable";
|
||||
import type { RequestHelmCharts } from "../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import type { RequestHelmChartReadme } from "../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import type { RequestHelmChartValues } from "../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import requestHelmChartsInjectable from "../../common/k8s-api/endpoints/helm-charts.api/request-charts.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../common/k8s-api/endpoints/helm-charts.api/request-versions.injectable";
|
||||
import requestHelmChartReadmeInjectable from "../../common/k8s-api/endpoints/helm-charts.api/request-readme.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import { HelmChart } from "../../common/k8s-api/endpoints/helm-charts.api";
|
||||
|
||||
describe("showing details for helm release", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let callForHelmReleasesMock: AsyncFnMock<CallForHelmReleases>;
|
||||
let callForHelmReleaseMock: AsyncFnMock<CallForHelmRelease>;
|
||||
let callForHelmReleaseConfigurationMock: AsyncFnMock<CallForHelmReleaseConfiguration>;
|
||||
let callForHelmReleaseUpdateMock: AsyncFnMock<CallForHelmReleaseUpdate>;
|
||||
let requestHelmReleasesMock: AsyncFnMock<RequestHelmReleases>;
|
||||
let requestDetailedHelmReleaseMock: AsyncFnMock<RequestDetailedHelmRelease>;
|
||||
let requestHelmReleaseConfigurationMock: AsyncFnMock<RequestHelmReleaseConfiguration>;
|
||||
let requestHelmReleaseUpdateMock: AsyncFnMock<RequestHelmReleaseUpdate>;
|
||||
let requestHelmChartsMock: AsyncFnMock<RequestHelmCharts>;
|
||||
let requestHelmChartVersionsMock: AsyncFnMock<RequestHelmChartVersions>;
|
||||
let requestHelmChartReadmeMock: AsyncFnMock<RequestHelmChartReadme>;
|
||||
let requestHelmChartValuesMock: AsyncFnMock<RequestHelmChartValues>;
|
||||
let showSuccessNotificationMock: jest.Mock;
|
||||
let showCheckedErrorNotificationMock: jest.Mock;
|
||||
|
||||
@@ -40,60 +51,36 @@ describe("showing details for helm release", () => {
|
||||
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
callForHelmReleasesMock = asyncFn();
|
||||
callForHelmReleaseMock = asyncFn();
|
||||
callForHelmReleaseConfigurationMock = asyncFn();
|
||||
callForHelmReleaseUpdateMock = asyncFn();
|
||||
requestHelmReleasesMock = asyncFn();
|
||||
requestDetailedHelmReleaseMock = asyncFn();
|
||||
requestHelmReleaseConfigurationMock = asyncFn();
|
||||
requestHelmReleaseUpdateMock = asyncFn();
|
||||
requestHelmChartsMock = asyncFn();
|
||||
requestHelmChartVersionsMock = asyncFn();
|
||||
requestHelmChartReadmeMock = asyncFn();
|
||||
requestHelmChartValuesMock = asyncFn();
|
||||
|
||||
showSuccessNotificationMock = jest.fn();
|
||||
showCheckedErrorNotificationMock = jest.fn();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(
|
||||
getRandomUpgradeChartTabIdInjectable,
|
||||
() => () => "some-tab-id",
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
showSuccessNotificationInjectable,
|
||||
() => showSuccessNotificationMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
showCheckedErrorInjectable,
|
||||
() => showCheckedErrorNotificationMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmReleasesInjectable,
|
||||
() => callForHelmReleasesMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmReleaseInjectable,
|
||||
() => callForHelmReleaseMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmReleaseConfigurationInjectable,
|
||||
() => callForHelmReleaseConfigurationMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
callForHelmReleaseUpdateInjectable,
|
||||
() => callForHelmReleaseUpdateMock,
|
||||
);
|
||||
|
||||
windowDi.override(
|
||||
namespaceStoreInjectable,
|
||||
() =>
|
||||
({
|
||||
contextNamespaces: ["some-namespace", "some-other-namespace"],
|
||||
items: [],
|
||||
selectNamespaces: () => {},
|
||||
} as unknown as NamespaceStore),
|
||||
);
|
||||
windowDi.override(getRandomUpgradeChartTabIdInjectable, () => () => "some-tab-id");
|
||||
windowDi.override(showSuccessNotificationInjectable, () => showSuccessNotificationMock);
|
||||
windowDi.override(showCheckedErrorInjectable, () => showCheckedErrorNotificationMock);
|
||||
windowDi.override(requestHelmReleasesInjectable, () => requestHelmReleasesMock);
|
||||
windowDi.override(requestDetailedHelmReleaseInjectable, () => requestDetailedHelmReleaseMock);
|
||||
windowDi.override(requestHelmReleaseConfigurationInjectable, () => requestHelmReleaseConfigurationMock);
|
||||
windowDi.override(requestHelmReleaseUpdateInjectable, () => requestHelmReleaseUpdateMock);
|
||||
windowDi.override(requestHelmChartsInjectable, () => requestHelmChartsMock);
|
||||
windowDi.override(requestHelmChartVersionsInjectable, () => requestHelmChartVersionsMock);
|
||||
windowDi.override(requestHelmChartReadmeInjectable, () => requestHelmChartReadmeMock);
|
||||
windowDi.override(requestHelmChartValuesInjectable, () => requestHelmChartValuesMock);
|
||||
});
|
||||
|
||||
builder.namespaces.add("some-namespace");
|
||||
builder.namespaces.select("some-namespace");
|
||||
builder.namespaces.add("some-namespace");
|
||||
builder.namespaces.select("some-other-namespace");
|
||||
});
|
||||
|
||||
describe("given application is started", () => {
|
||||
@@ -119,7 +106,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for releases for each selected namespace", () => {
|
||||
expect(callForHelmReleasesMock.mock.calls).toEqual([
|
||||
expect(requestHelmReleasesMock.mock.calls).toEqual([
|
||||
["some-namespace"],
|
||||
["some-other-namespace"],
|
||||
]);
|
||||
@@ -132,22 +119,22 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("when releases resolve but there is none, renders", async () => {
|
||||
await callForHelmReleasesMock.resolve([]);
|
||||
await callForHelmReleasesMock.resolve([]);
|
||||
await requestHelmReleasesMock.resolve([]);
|
||||
await requestHelmReleasesMock.resolve([]);
|
||||
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
describe("when releases resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleasesMock.resolveSpecific(
|
||||
await requestHelmReleasesMock.resolveSpecific(
|
||||
([namespace]) => namespace === "some-namespace",
|
||||
[
|
||||
{
|
||||
appVersion: "some-app-version",
|
||||
name: "some-name",
|
||||
namespace: "some-namespace",
|
||||
chart: "some-chart",
|
||||
chart: "some-chart-1.0.0",
|
||||
status: "some-status",
|
||||
updated: "some-updated",
|
||||
revision: "some-revision",
|
||||
@@ -155,14 +142,14 @@ describe("showing details for helm release", () => {
|
||||
],
|
||||
);
|
||||
|
||||
await callForHelmReleasesMock.resolveSpecific(
|
||||
await requestHelmReleasesMock.resolveSpecific(
|
||||
([namespace]) => namespace === "some-other-namespace",
|
||||
[
|
||||
{
|
||||
appVersion: "some-other-app-version",
|
||||
name: "some-other-name",
|
||||
namespace: "some-other-namespace",
|
||||
chart: "some-other-chart",
|
||||
chart: "some-other-chart-2.0.0",
|
||||
status: "some-other-status",
|
||||
updated: "some-other-updated",
|
||||
revision: "some-other-revision",
|
||||
@@ -201,7 +188,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for release", () => {
|
||||
expect(callForHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(requestDetailedHelmReleaseMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
);
|
||||
@@ -215,7 +202,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when opening details for second release", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmReleaseMock.mockClear();
|
||||
requestDetailedHelmReleaseMock.mockClear();
|
||||
|
||||
const row = rendered.getByTestId(
|
||||
"helm-release-row-for-some-other-namespace/some-other-name",
|
||||
@@ -229,7 +216,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for another release", () => {
|
||||
expect(callForHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(requestDetailedHelmReleaseMock).toHaveBeenCalledWith(
|
||||
"some-other-name",
|
||||
"some-other-namespace",
|
||||
);
|
||||
@@ -269,7 +256,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when opening details for same release", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmReleaseMock.mockClear();
|
||||
requestDetailedHelmReleaseMock.mockClear();
|
||||
|
||||
const row = rendered.getByTestId(
|
||||
"helm-release-row-for-some-namespace/some-name",
|
||||
@@ -283,15 +270,14 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("does not reload", () => {
|
||||
expect(callForHelmReleaseMock).not.toHaveBeenCalled();
|
||||
expect(requestDetailedHelmReleaseMock).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe("when call for release resolves with error", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseMock.resolve({
|
||||
await requestDetailedHelmReleaseMock.resolve({
|
||||
callWasSuccessful: false,
|
||||
error: "some-error",
|
||||
});
|
||||
@@ -314,15 +300,55 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("does not call for release configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
expect(requestHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe("when call for release resolve with release", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseMock.resolve({
|
||||
await requestDetailedHelmReleaseMock.resolve({
|
||||
callWasSuccessful: true,
|
||||
response: detailedReleaseFake,
|
||||
response: {
|
||||
release: {
|
||||
appVersion: "some-app-version",
|
||||
chart: "some-chart-1.0.0",
|
||||
status: "some-status",
|
||||
updated: "some-updated",
|
||||
revision: "some-revision",
|
||||
name: "some-name",
|
||||
namespace: "some-namespace",
|
||||
},
|
||||
|
||||
details: {
|
||||
name: "some-name",
|
||||
namespace: "some-namespace",
|
||||
version: "some-version",
|
||||
config: "some-config",
|
||||
manifest: "some-manifest",
|
||||
|
||||
info: {
|
||||
deleted: "some-deleted",
|
||||
description: "some-description",
|
||||
first_deployed: "some-first-deployed",
|
||||
last_deployed: "some-last-deployed",
|
||||
notes: "some-notes",
|
||||
status: "some-status",
|
||||
},
|
||||
|
||||
resources: [
|
||||
{
|
||||
kind: "some-kind",
|
||||
apiVersion: "some-api-version",
|
||||
metadata: {
|
||||
uid: "some-uid",
|
||||
name: "some-resource",
|
||||
namespace: "some-namespace",
|
||||
creationTimestamp: "2015-10-22T07:28:00Z",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
@@ -331,7 +357,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for release configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
@@ -340,7 +366,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseConfigurationMock.resolve(
|
||||
await requestHelmReleaseConfigurationMock.resolve(
|
||||
"some-configuration",
|
||||
);
|
||||
});
|
||||
@@ -405,12 +431,12 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("does not save changes yet", () => {
|
||||
expect(callForHelmReleaseUpdateMock).not.toHaveBeenCalled();
|
||||
expect(requestHelmReleaseUpdateMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
describe("when toggling to see only user defined values", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
const toggle = rendered.getByTestId(
|
||||
"user-supplied-values-only-checkbox",
|
||||
@@ -420,7 +446,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for only user defined configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
false,
|
||||
@@ -429,7 +455,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseConfigurationMock.resolve(
|
||||
await requestHelmReleaseConfigurationMock.resolve(
|
||||
"some-other-configuration",
|
||||
);
|
||||
});
|
||||
@@ -447,7 +473,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("when toggling again, calls for all configuration", () => {
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
const toggle = rendered.getByTestId(
|
||||
"user-supplied-values-only-checkbox",
|
||||
@@ -455,7 +481,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
fireEvent.click(toggle);
|
||||
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
@@ -477,20 +503,6 @@ describe("showing details for helm release", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("calls for update", () => {
|
||||
expect(callForHelmReleaseUpdateMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
|
||||
{
|
||||
chart: "some-chart",
|
||||
repo: "",
|
||||
values: "some-new-configuration",
|
||||
version: "",
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
it("shows spinner", () => {
|
||||
const saveButton = rendered.getByTestId(
|
||||
"helm-release-configuration-save-button",
|
||||
@@ -499,78 +511,115 @@ describe("showing details for helm release", () => {
|
||||
expect(saveButton).toHaveClass("waiting");
|
||||
});
|
||||
|
||||
describe("when update resolves with success", () => {
|
||||
describe("when requestHelmCharts resolves", () => {
|
||||
beforeEach(async () => {
|
||||
callForHelmReleasesMock.mockClear();
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
await callForHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: true,
|
||||
await requestHelmChartsMock.resolve([HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.0",
|
||||
created: "at-some-time",
|
||||
name: "some-chart",
|
||||
repo: "some-repo",
|
||||
})]);
|
||||
});
|
||||
describe("when requestHelmChartVersions resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await requestHelmChartVersionsMock.resolve([HelmChart.create({
|
||||
apiVersion: "1.2.3",
|
||||
version: "1.0.0",
|
||||
created: "at-some-time",
|
||||
name: "some-chart",
|
||||
repo: "some-repo",
|
||||
})]);
|
||||
});
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
it("calls for update", () => {
|
||||
expect(requestHelmReleaseUpdateMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
|
||||
it("does not show spinner anymore", () => {
|
||||
const saveButton = rendered.getByTestId(
|
||||
"helm-release-configuration-save-button",
|
||||
);
|
||||
|
||||
expect(saveButton).not.toHaveClass("waiting");
|
||||
});
|
||||
|
||||
it("reloads the configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it("shows success notification", () => {
|
||||
expect(showSuccessNotificationMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not show error notification", () => {
|
||||
expect(showCheckedErrorNotificationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe("when update resolves with failure", () => {
|
||||
beforeEach(async () => {
|
||||
callForHelmReleasesMock.mockClear();
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
await callForHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: false,
|
||||
error: "some-error",
|
||||
{
|
||||
chart: "some-chart",
|
||||
repo: "some-repo",
|
||||
values: "some-new-configuration",
|
||||
version: "1.0.0",
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
describe("when update resolves with success", () => {
|
||||
beforeEach(async () => {
|
||||
requestHelmReleasesMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
it("does not show spinner anymore", () => {
|
||||
const saveButton = rendered.getByTestId(
|
||||
"helm-release-configuration-save-button",
|
||||
);
|
||||
await requestHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: true,
|
||||
});
|
||||
});
|
||||
|
||||
expect(saveButton).not.toHaveClass("waiting");
|
||||
});
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not reload the configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
it("does not show spinner anymore", () => {
|
||||
const saveButton = rendered.getByTestId(
|
||||
"helm-release-configuration-save-button",
|
||||
);
|
||||
|
||||
it("does not show success notification", () => {
|
||||
expect(showSuccessNotificationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
expect(saveButton).not.toHaveClass("waiting");
|
||||
});
|
||||
|
||||
it("shows error notification", () => {
|
||||
expect(showCheckedErrorNotificationMock).toHaveBeenCalled();
|
||||
it("reloads the configuration", () => {
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
);
|
||||
});
|
||||
|
||||
it("shows success notification", () => {
|
||||
expect(showSuccessNotificationMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not show error notification", () => {
|
||||
expect(showCheckedErrorNotificationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe("when update resolves with failure", () => {
|
||||
beforeEach(async () => {
|
||||
requestHelmReleasesMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
await requestHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: false,
|
||||
error: "some-error",
|
||||
});
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(rendered.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not show spinner anymore", () => {
|
||||
const saveButton = rendered.getByTestId(
|
||||
"helm-release-configuration-save-button",
|
||||
);
|
||||
|
||||
expect(saveButton).not.toHaveClass("waiting");
|
||||
});
|
||||
|
||||
it("does not reload the configuration", () => {
|
||||
expect(requestHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not show success notification", () => {
|
||||
expect(showSuccessNotificationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("shows error notification", () => {
|
||||
expect(showCheckedErrorNotificationMock).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -582,45 +631,3 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
const detailedReleaseFake: DetailedHelmRelease = {
|
||||
release: {
|
||||
appVersion: "some-app-version",
|
||||
chart: "some-chart",
|
||||
status: "some-status",
|
||||
updated: "some-updated",
|
||||
revision: "some-revision",
|
||||
name: "some-name",
|
||||
namespace: "some-namespace",
|
||||
},
|
||||
|
||||
details: {
|
||||
name: "some-name",
|
||||
namespace: "some-namespace",
|
||||
version: "some-version",
|
||||
config: "some-config",
|
||||
manifest: "some-manifest",
|
||||
|
||||
info: {
|
||||
deleted: "some-deleted",
|
||||
description: "some-description",
|
||||
first_deployed: "some-first-deployed",
|
||||
last_deployed: "some-last-deployed",
|
||||
notes: "some-notes",
|
||||
status: "some-status",
|
||||
},
|
||||
|
||||
resources: [
|
||||
{
|
||||
kind: "some-kind",
|
||||
apiVersion: "some-api-version",
|
||||
metadata: {
|
||||
uid: "some-uid",
|
||||
name: "some-resource",
|
||||
namespace: "some-namespace",
|
||||
creationTimestamp: "2015-10-22T07:28:00Z",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@@ -430,6 +430,7 @@ exports[`download logs options in logs dock tab opening pod logs when logs avail
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-log-tab-some-irrelevant-random-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -439,7 +440,9 @@ exports[`download logs options in logs dock tab opening pod logs when logs avail
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-log-tab-some-irrelevant-random-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
@@ -1280,6 +1283,7 @@ exports[`download logs options in logs dock tab opening pod logs when logs not a
|
||||
>
|
||||
<i
|
||||
class="Icon material interactive focusable small"
|
||||
data-testid="dock-tab-close-for-log-tab-some-irrelevant-random-id"
|
||||
tabindex="0"
|
||||
>
|
||||
<span
|
||||
@@ -1289,7 +1293,9 @@ exports[`download logs options in logs dock tab opening pod logs when logs not a
|
||||
close
|
||||
</span>
|
||||
</i>
|
||||
<div>
|
||||
<div
|
||||
data-testid="tooltip-content-for-dock-tab-close-for-log-tab-some-irrelevant-random-id"
|
||||
>
|
||||
Close ⌘+W
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -909,7 +909,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
|
||||
<input
|
||||
class="input box grow"
|
||||
disabled=""
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
@@ -940,7 +940,7 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
|
||||
>
|
||||
<input
|
||||
class="input box grow"
|
||||
placeholder="/some-absolute-root-directory/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
placeholder="/some-electron-app-path-for-user-data/binaries/kubectl"
|
||||
spellcheck="false"
|
||||
value=""
|
||||
/>
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ describe("opening application window using tray", () => {
|
||||
|
||||
mainDi.override(
|
||||
lensResourcesDirInjectable,
|
||||
() => "some-lens-resources-directory",
|
||||
() => "/some-lens-resources-directory",
|
||||
);
|
||||
|
||||
const loadFileMock = jest
|
||||
@@ -119,7 +119,7 @@ describe("opening application window using tray", () => {
|
||||
});
|
||||
|
||||
it("starts loading static HTML of splash window", () => {
|
||||
expect(callForSplashWindowHtmlMock).toHaveBeenCalledWith("/some-absolute-root-directory/some-lens-resources-directory/static/splash.html");
|
||||
expect(callForSplashWindowHtmlMock).toHaveBeenCalledWith("/some-lens-resources-directory/static/splash.html");
|
||||
});
|
||||
|
||||
describe("when loading of splash window HTML resolves", () => {
|
||||
|
||||
Reference in new issue
Block a user