mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Convert all of Helm functions to be DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
1 parent
2f57644801
commit
83970fb5a4
62 files changed
+1513
-1570
No files matched your search
+626
-625
File diff suppressed because it is too large.
Load diff
+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/create.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/get-versions.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/get-versions.injectable";
|
||||
import type { RequestHelmChartValues } from "../../../common/k8s-api/endpoints/helm-charts.api/get-values.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/get-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/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/list.injectable";
|
||||
import type { RequestHelmChartVersions } from "../../../common/k8s-api/endpoints/helm-charts.api/get-versions.injectable";
|
||||
import type { RequestHelmChartReadme } from "../../../common/k8s-api/endpoints/helm-charts.api/get-readme.injectable";
|
||||
import requestHelmChartsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/list.injectable";
|
||||
import requestHelmChartVersionsInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/get-versions.injectable";
|
||||
import requestHelmChartReadmeInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/get-readme.injectable";
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/get-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",
|
||||
|
||||
@@ -9,27 +9,27 @@ 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 type { RequestHelmReleases } from "../../common/k8s-api/endpoints/helm-releases.api/list.injectable";
|
||||
import requestHelmReleasesInjectable from "../../common/k8s-api/endpoints/helm-releases.api/list.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 { RequestHelmReleaseConfiguration } from "../../common/k8s-api/endpoints/helm-releases.api/get-configuration.injectable";
|
||||
import requestHelmReleaseConfigurationInjectable from "../../common/k8s-api/endpoints/helm-releases.api/get-configuration.injectable";
|
||||
import type { RequestHelmReleaseUpdate } from "../../common/k8s-api/endpoints/helm-releases.api/update.injectable";
|
||||
import requestHelmReleaseUpdateInjectable from "../../common/k8s-api/endpoints/helm-releases.api/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 { RequestHelmRelease, DetailedHelmRelease } from "../../renderer/components/+helm-releases/release-details/release-details-model/request-helm-release.injectable";
|
||||
import requestHelmReleaseInjectable from "../../renderer/components/+helm-releases/release-details/release-details-model/request-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";
|
||||
|
||||
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 requestHelmReleaseMock: AsyncFnMock<RequestHelmRelease>;
|
||||
let requestHelmReleaseConfigurationMock: AsyncFnMock<RequestHelmReleaseConfiguration>;
|
||||
let requestHelmReleaseUpdateMock: AsyncFnMock<RequestHelmReleaseUpdate>;
|
||||
let showSuccessNotificationMock: jest.Mock;
|
||||
let showCheckedErrorNotificationMock: jest.Mock;
|
||||
|
||||
@@ -40,50 +40,22 @@ describe("showing details for helm release", () => {
|
||||
|
||||
builder.setEnvironmentToClusterFrame();
|
||||
|
||||
callForHelmReleasesMock = asyncFn();
|
||||
callForHelmReleaseMock = asyncFn();
|
||||
callForHelmReleaseConfigurationMock = asyncFn();
|
||||
callForHelmReleaseUpdateMock = asyncFn();
|
||||
requestHelmReleasesMock = asyncFn();
|
||||
requestHelmReleaseMock = asyncFn();
|
||||
requestHelmReleaseConfigurationMock = asyncFn();
|
||||
requestHelmReleaseUpdateMock = 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(getRandomUpgradeChartTabIdInjectable, () => () => "some-tab-id");
|
||||
windowDi.override(showSuccessNotificationInjectable, () => showSuccessNotificationMock);
|
||||
windowDi.override(showCheckedErrorInjectable, () => showCheckedErrorNotificationMock);
|
||||
windowDi.override(requestHelmReleasesInjectable, () => requestHelmReleasesMock);
|
||||
windowDi.override(requestHelmReleaseInjectable, () => requestHelmReleaseMock);
|
||||
windowDi.override(requestHelmReleaseConfigurationInjectable, () => requestHelmReleaseConfigurationMock);
|
||||
windowDi.override(requestHelmReleaseUpdateInjectable, () => requestHelmReleaseUpdateMock);
|
||||
windowDi.override(
|
||||
namespaceStoreInjectable,
|
||||
() =>
|
||||
@@ -119,7 +91,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,15 +104,15 @@ 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",
|
||||
[
|
||||
{
|
||||
@@ -155,7 +127,7 @@ describe("showing details for helm release", () => {
|
||||
],
|
||||
);
|
||||
|
||||
await callForHelmReleasesMock.resolveSpecific(
|
||||
await requestHelmReleasesMock.resolveSpecific(
|
||||
([namespace]) => namespace === "some-other-namespace",
|
||||
[
|
||||
{
|
||||
@@ -201,7 +173,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for release", () => {
|
||||
expect(callForHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
);
|
||||
@@ -215,7 +187,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when opening details for second release", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmReleaseMock.mockClear();
|
||||
requestHelmReleaseMock.mockClear();
|
||||
|
||||
const row = rendered.getByTestId(
|
||||
"helm-release-row-for-some-other-namespace/some-other-name",
|
||||
@@ -229,7 +201,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for another release", () => {
|
||||
expect(callForHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseMock).toHaveBeenCalledWith(
|
||||
"some-other-name",
|
||||
"some-other-namespace",
|
||||
);
|
||||
@@ -269,7 +241,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when opening details for same release", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmReleaseMock.mockClear();
|
||||
requestHelmReleaseMock.mockClear();
|
||||
|
||||
const row = rendered.getByTestId(
|
||||
"helm-release-row-for-some-namespace/some-name",
|
||||
@@ -283,7 +255,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("does not reload", () => {
|
||||
expect(callForHelmReleaseMock).not.toHaveBeenCalled();
|
||||
expect(requestHelmReleaseMock).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -291,7 +263,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when call for release resolves with error", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseMock.resolve({
|
||||
await requestHelmReleaseMock.resolve({
|
||||
callWasSuccessful: false,
|
||||
error: "some-error",
|
||||
});
|
||||
@@ -314,13 +286,13 @@ 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 requestHelmReleaseMock.resolve({
|
||||
callWasSuccessful: true,
|
||||
response: detailedReleaseFake,
|
||||
});
|
||||
@@ -331,7 +303,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 +312,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseConfigurationMock.resolve(
|
||||
await requestHelmReleaseConfigurationMock.resolve(
|
||||
"some-configuration",
|
||||
);
|
||||
});
|
||||
@@ -405,12 +377,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 +392,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 +401,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmReleaseConfigurationMock.resolve(
|
||||
await requestHelmReleaseConfigurationMock.resolve(
|
||||
"some-other-configuration",
|
||||
);
|
||||
});
|
||||
@@ -447,7 +419,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 +427,7 @@ describe("showing details for helm release", () => {
|
||||
|
||||
fireEvent.click(toggle);
|
||||
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
@@ -478,7 +450,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for update", () => {
|
||||
expect(callForHelmReleaseUpdateMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseUpdateMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
|
||||
@@ -501,10 +473,10 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when update resolves with success", () => {
|
||||
beforeEach(async () => {
|
||||
callForHelmReleasesMock.mockClear();
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
requestHelmReleasesMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
await callForHelmReleaseUpdateMock.resolve({
|
||||
await requestHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: true,
|
||||
});
|
||||
});
|
||||
@@ -522,7 +494,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("reloads the configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
expect(requestHelmReleaseConfigurationMock).toHaveBeenCalledWith(
|
||||
"some-name",
|
||||
"some-namespace",
|
||||
true,
|
||||
@@ -540,10 +512,10 @@ describe("showing details for helm release", () => {
|
||||
|
||||
describe("when update resolves with failure", () => {
|
||||
beforeEach(async () => {
|
||||
callForHelmReleasesMock.mockClear();
|
||||
callForHelmReleaseConfigurationMock.mockClear();
|
||||
requestHelmReleasesMock.mockClear();
|
||||
requestHelmReleaseConfigurationMock.mockClear();
|
||||
|
||||
await callForHelmReleaseUpdateMock.resolve({
|
||||
await requestHelmReleaseUpdateMock.resolve({
|
||||
updateWasSuccessful: false,
|
||||
error: "some-error",
|
||||
});
|
||||
@@ -562,7 +534,7 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("does not reload the configuration", () => {
|
||||
expect(callForHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
expect(requestHelmReleaseConfigurationMock).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("does not show success notification", () => {
|
||||
|
||||
Reference in new issue
Block a user