mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix rebase issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
1cd9625faa
commit
e3849bf1a6
@ -8,14 +8,7 @@ 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 currentPathInjectable from "../../../renderer/routes/current-path.injectable";
|
||||
import namespaceStoreInjectable from "../../../renderer/components/+namespaces/store.injectable";
|
||||
import type { NamespaceStore } from "../../../renderer/components/+namespaces/store";
|
||||
@ -30,6 +23,13 @@ import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/h
|
||||
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 { HelmChart } from "../../../renderer/k8s/helm-chart";
|
||||
import type { ListHelmCharts } from "../../../renderer/k8s/helm-charts.api/list.injectable";
|
||||
import listHelmChartsInjectable from "../../../renderer/k8s/helm-charts.api/list.injectable";
|
||||
import type { GetHelmChartValues } from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
|
||||
import type { CreateHelmRelease } from "../../../renderer/k8s/helm-releases.api/create.injectable";
|
||||
import getHelmChartValuesInjectable from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
|
||||
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
|
||||
|
||||
// TODO: Make tooltips free of side effects by making it deterministic
|
||||
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
|
||||
@ -39,11 +39,11 @@ jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
|
||||
describe("installing helm chart from new tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let rendererDi: DiContainer;
|
||||
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
|
||||
let listHelmChartsMock: AsyncFnMock<ListHelmCharts>;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
|
||||
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
|
||||
let callForCreateHelmReleaseMock: AsyncFnMock<CallForCreateHelmRelease>;
|
||||
let getHelmChartValuesMock: AsyncFnMock<GetHelmChartValues>;
|
||||
let createHelmReleaseMock: AsyncFnMock<CreateHelmRelease>;
|
||||
|
||||
beforeEach(() => {
|
||||
builder = getApplicationBuilder();
|
||||
@ -52,11 +52,11 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
overrideFsWithFakes(rendererDi);
|
||||
|
||||
callForHelmChartsMock = asyncFn();
|
||||
listHelmChartsMock = asyncFn();
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartReadmeMock = asyncFn();
|
||||
callForHelmChartValuesMock = asyncFn();
|
||||
callForCreateHelmReleaseMock = asyncFn();
|
||||
getHelmChartValuesMock = asyncFn();
|
||||
createHelmReleaseMock = asyncFn();
|
||||
|
||||
builder.beforeApplicationStart(({ rendererDi }) => {
|
||||
rendererDi.override(
|
||||
@ -67,8 +67,8 @@ describe("installing helm chart from new tab", () => {
|
||||
rendererDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartsInjectable,
|
||||
() => callForHelmChartsMock,
|
||||
listHelmChartsInjectable,
|
||||
() => listHelmChartsMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
@ -82,13 +82,13 @@ describe("installing helm chart from new tab", () => {
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
getHelmChartValuesInjectable,
|
||||
() => getHelmChartValuesMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
() => callForCreateHelmReleaseMock,
|
||||
createHelmReleaseInjectable,
|
||||
() => createHelmReleaseMock,
|
||||
);
|
||||
|
||||
// TODO: Replace store mocking with mock for the actual side-effect (where the namespaces are coming from)
|
||||
@ -145,7 +145,7 @@ describe("installing helm chart from new tab", () => {
|
||||
// TODO: Make TerminalWindow unit testable to allow realistic behaviour
|
||||
dockStore.closeTab("terminal");
|
||||
|
||||
await callForHelmChartsMock.resolve([
|
||||
await listHelmChartsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
@ -242,7 +242,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-version",
|
||||
@ -263,7 +263,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("given default configuration resolves but versions have not resolved yet, still shows the spinner", async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
@ -282,7 +282,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when default configuration and versions resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
@ -379,7 +379,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for installation with default configuration", () => {
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(createHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
namespace: "default",
|
||||
@ -391,7 +391,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when installation resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForCreateHelmReleaseMock.resolve({
|
||||
await createHelmReleaseMock.resolve({
|
||||
log: "some-execution-output",
|
||||
|
||||
release: {
|
||||
@ -554,7 +554,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the second chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-other-name",
|
||||
"some-version",
|
||||
@ -576,7 +576,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when configuration and versions resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-other-default-configuration",
|
||||
);
|
||||
|
||||
@ -601,7 +601,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
createHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-other-name",
|
||||
name: undefined,
|
||||
@ -614,7 +614,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when selecting the dock tab for installing first chart", () => {
|
||||
beforeEach(() => {
|
||||
callForHelmChartValuesMock.mockClear();
|
||||
getHelmChartValuesMock.mockClear();
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
|
||||
const tab = rendered.getByTestId(
|
||||
@ -630,7 +630,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
it("does not call for default configuration", () => {
|
||||
expect(
|
||||
callForHelmChartValuesMock,
|
||||
getHelmChartValuesMock,
|
||||
).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
@ -654,7 +654,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
createHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@ -674,7 +674,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
beforeEach(() => {
|
||||
callForHelmChartVersionsMock.mockClear();
|
||||
callForHelmChartValuesMock.mockClear();
|
||||
getHelmChartValuesMock.mockClear();
|
||||
|
||||
const menuId =
|
||||
"install-chart-version-select-for-some-first-tab-id";
|
||||
@ -702,7 +702,7 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration for the version of chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@ -741,7 +741,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
describe("when default configuration resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
});
|
||||
@ -766,7 +766,7 @@ describe("installing helm chart from new tab", () => {
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(
|
||||
callForCreateHelmReleaseMock,
|
||||
createHelmReleaseMock,
|
||||
).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@ -823,7 +823,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith(
|
||||
expect(createHelmReleaseMock).toHaveBeenCalledWith(
|
||||
{
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
@ -886,7 +886,7 @@ describe("installing helm chart from new tab", () => {
|
||||
)
|
||||
.selectOption("some-other-version");
|
||||
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
|
||||
@ -942,7 +942,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(createHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: undefined,
|
||||
namespace: "default",
|
||||
@ -959,7 +959,7 @@ describe("installing helm chart from new tab", () => {
|
||||
)
|
||||
.selectOption("some-other-version");
|
||||
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration-for-other-version",
|
||||
);
|
||||
|
||||
@ -1008,7 +1008,7 @@ describe("installing helm chart from new tab", () => {
|
||||
|
||||
fireEvent.click(installButton);
|
||||
|
||||
expect(callForCreateHelmReleaseMock).toHaveBeenCalledWith({
|
||||
expect(createHelmReleaseMock).toHaveBeenCalledWith({
|
||||
chart: "some-name",
|
||||
name: "some-custom-name",
|
||||
namespace: "default",
|
||||
|
||||
@ -7,10 +7,8 @@ import asyncFn from "@async-fn/jest";
|
||||
import type { RenderResult } 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 { HelmChart } from "../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import { HelmChart } from "../../../renderer/k8s/helm-chart";
|
||||
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";
|
||||
@ -22,7 +20,9 @@ import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/h
|
||||
import { TabKind } from "../../../renderer/components/dock/dock/store";
|
||||
import { controlWhenStoragesAreReady } from "../../../renderer/utils/create-storage/storages-are-ready";
|
||||
import type { DiContainer } from "@ogre-tools/injectable";
|
||||
import callForCreateHelmReleaseInjectable from "../../../renderer/components/+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import type { GetHelmChartValues } from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
|
||||
import getHelmChartValuesInjectable from "../../../renderer/k8s/helm-charts.api/get-values.injectable";
|
||||
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
|
||||
|
||||
// TODO: Make tooltips free of side effects by making it deterministic
|
||||
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
|
||||
@ -33,7 +33,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let rendererDi: DiContainer;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartValuesMock: AsyncFnMock<CallForHelmChartValues>;
|
||||
let getHelmChartValuesMock: AsyncFnMock<GetHelmChartValues>;
|
||||
let storagesAreReady: () => Promise<void>;
|
||||
|
||||
beforeEach(() => {
|
||||
@ -44,7 +44,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
overrideFsWithFakes(rendererDi);
|
||||
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartValuesMock = asyncFn();
|
||||
getHelmChartValuesMock = asyncFn();
|
||||
|
||||
builder.beforeApplicationStart(({ rendererDi }) => {
|
||||
rendererDi.override(
|
||||
@ -62,17 +62,12 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
getHelmChartValuesInjectable,
|
||||
() => getHelmChartValuesMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
createHelmReleaseInjectable,
|
||||
() => jest.fn(),
|
||||
);
|
||||
|
||||
@ -164,7 +159,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
});
|
||||
|
||||
it("calls for default configuration of the chart", () => {
|
||||
expect(callForHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
expect(getHelmChartValuesMock).toHaveBeenCalledWith(
|
||||
"some-repository",
|
||||
"some-name",
|
||||
"some-other-version",
|
||||
@ -180,7 +175,7 @@ describe("installing helm chart from previously opened tab", () => {
|
||||
|
||||
describe("when configuration and version resolves", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartValuesMock.resolve(
|
||||
await getHelmChartValuesMock.resolve(
|
||||
"some-default-configuration",
|
||||
);
|
||||
|
||||
|
||||
@ -8,12 +8,8 @@ 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 { HelmChart } from "../../../renderer/k8s/helm-chart";
|
||||
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";
|
||||
@ -24,6 +20,9 @@ import directoryForLensLocalStorageInjectable from "../../../common/directory-fo
|
||||
import hostedClusterIdInjectable from "../../../renderer/cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import dockStoreInjectable from "../../../renderer/components/dock/dock/store.injectable";
|
||||
import type { DiContainer } from "@ogre-tools/injectable";
|
||||
import type { ListHelmCharts } from "../../../renderer/k8s/helm-charts.api/list.injectable";
|
||||
import listHelmChartsInjectable from "../../../renderer/k8s/helm-charts.api/list.injectable";
|
||||
import createHelmReleaseInjectable from "../../../renderer/k8s/helm-releases.api/create.injectable";
|
||||
|
||||
// TODO: Make tooltips free of side effects by making it deterministic
|
||||
jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
|
||||
@ -33,7 +32,7 @@ jest.mock("../../../renderer/components/tooltip/withTooltip", () => ({
|
||||
describe("opening dock tab for installing helm chart", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
let rendererDi: DiContainer;
|
||||
let callForHelmChartsMock: AsyncFnMock<CallForHelmCharts>;
|
||||
let listHelmChartsMock: AsyncFnMock<ListHelmCharts>;
|
||||
let callForHelmChartVersionsMock: AsyncFnMock<CallForHelmChartVersions>;
|
||||
let callForHelmChartReadmeMock: AsyncFnMock<CallForHelmChartReadme>;
|
||||
let callForHelmChartValuesMock: jest.Mock;
|
||||
@ -45,7 +44,7 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
|
||||
overrideFsWithFakes(rendererDi);
|
||||
|
||||
callForHelmChartsMock = asyncFn();
|
||||
listHelmChartsMock = asyncFn();
|
||||
callForHelmChartVersionsMock = asyncFn();
|
||||
callForHelmChartReadmeMock = asyncFn();
|
||||
callForHelmChartValuesMock = jest.fn();
|
||||
@ -59,8 +58,8 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
rendererDi.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartsInjectable,
|
||||
() => callForHelmChartsMock,
|
||||
listHelmChartsInjectable,
|
||||
() => listHelmChartsMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
@ -74,12 +73,12 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForHelmChartValuesInjectable,
|
||||
callForHelmChartVersionsInjectable,
|
||||
() => callForHelmChartValuesMock,
|
||||
);
|
||||
|
||||
rendererDi.override(
|
||||
callForCreateHelmReleaseInjectable,
|
||||
createHelmReleaseInjectable,
|
||||
() => jest.fn(),
|
||||
);
|
||||
|
||||
@ -112,12 +111,12 @@ describe("opening dock tab for installing helm chart", () => {
|
||||
});
|
||||
|
||||
it("calls for charts", () => {
|
||||
expect(callForHelmChartsMock).toHaveBeenCalled();
|
||||
expect(listHelmChartsMock).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
describe("when charts resolve", () => {
|
||||
beforeEach(async () => {
|
||||
await callForHelmChartsMock.resolve([
|
||||
await listHelmChartsMock.resolve([
|
||||
HelmChart.create({
|
||||
apiVersion: "some-api-version",
|
||||
name: "some-name",
|
||||
|
||||
@ -6,7 +6,7 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
||||
import callForHelmChartReadmeInjectable from "./readme/call-for-helm-chart-readme.injectable";
|
||||
import helmChartDetailsVersionSelectionInjectable from "./versions/helm-chart-details-version-selection.injectable";
|
||||
import type { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import type { HelmChart } from "../../../../renderer/k8s/helm-chart";
|
||||
|
||||
const readmeOfSelectedHelmChartInjectable = getInjectable({
|
||||
id: "readme-of-selected-helm-chart",
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { getChartDetails } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import getHelmChartDetailsInjectable from "../../../../k8s/helm-charts.api/get-details.injectable";
|
||||
|
||||
export type CallForHelmChartReadme = (
|
||||
repo: string,
|
||||
@ -13,16 +13,16 @@ export type CallForHelmChartReadme = (
|
||||
|
||||
const callForHelmChartReadmeInjectable = getInjectable({
|
||||
id: "call-for-helm-chart-readme",
|
||||
instantiate: (di): CallForHelmChartReadme => {
|
||||
const getHelmChartDetails = di.inject(getHelmChartDetailsInjectable);
|
||||
|
||||
instantiate:
|
||||
(): CallForHelmChartReadme =>
|
||||
async (repository: string, name: string, version: string) => {
|
||||
// TODO: Dismantle wrong abstraction
|
||||
const details = await getChartDetails(repository, name, { version });
|
||||
|
||||
return details.readme;
|
||||
},
|
||||
return async (repository, name, version) => {
|
||||
// TODO: Dismantle wrong abstraction
|
||||
const details = await getHelmChartDetails(repository, name, { version });
|
||||
|
||||
return details.readme;
|
||||
};
|
||||
},
|
||||
causesSideEffects: true,
|
||||
});
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
||||
import callForHelmChartVersionsInjectable from "./versions/call-for-helm-chart-versions.injectable";
|
||||
import type { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import type { HelmChart } from "../../../../renderer/k8s/helm-chart";
|
||||
|
||||
const versionsOfSelectedHelmChartInjectable = getInjectable({
|
||||
id: "versions-of-selected-helm-chart",
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { HelmChart } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import { getChartDetails } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import type { HelmChart } from "../../../../../renderer/k8s/helm-chart";
|
||||
import getHelmChartDetailsInjectable from "../../../../k8s/helm-charts.api/get-details.injectable";
|
||||
|
||||
export type CallForHelmChartVersions = (
|
||||
repo: string,
|
||||
@ -14,13 +14,16 @@ export type CallForHelmChartVersions = (
|
||||
const callForHelmChartVersionsInjectable = getInjectable({
|
||||
id: "call-for-helm-chart-versions",
|
||||
|
||||
instantiate:
|
||||
(): CallForHelmChartVersions => async (repository: string, name: string) => {
|
||||
// TODO: Dismantle wrong abstraction
|
||||
const details = await getChartDetails(repository, name);
|
||||
instantiate: (di): CallForHelmChartVersions => {
|
||||
const getHelmChartDetails = di.inject(getHelmChartDetailsInjectable);
|
||||
|
||||
return async (repository, name) => {
|
||||
// TODO: Dismantle wrong abstraction
|
||||
const details = await getHelmChartDetails(repository, name);
|
||||
|
||||
return details.versions;
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
causesSideEffects: true,
|
||||
});
|
||||
|
||||
@ -6,7 +6,7 @@ import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import type { IComputedValue } from "mobx";
|
||||
import { computed, observable } from "mobx";
|
||||
import versionsOfSelectedHelmChartInjectable from "../versions-of-selected-helm-chart.injectable";
|
||||
import type { HelmChart } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import type { HelmChart } from "../../../../../renderer/k8s/helm-chart";
|
||||
import type { SingleValue } from "react-select";
|
||||
|
||||
interface VersionSelectionOption {
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
/**
|
||||
* 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 { HelmChart } from "../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
import { listCharts } from "../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
|
||||
export type CallForHelmCharts = () => Promise<HelmChart[]>;
|
||||
|
||||
const callForHelmChartsInjectable = getInjectable({
|
||||
id: "call-for-helm-charts",
|
||||
instantiate: (): CallForHelmCharts => async () => await listCharts(),
|
||||
causesSideEffects: true,
|
||||
});
|
||||
|
||||
export default callForHelmChartsInjectable;
|
||||
@ -4,15 +4,15 @@
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import { asyncComputed } from "@ogre-tools/injectable-react";
|
||||
import callForHelmChartsInjectable from "./call-for-helm-charts.injectable";
|
||||
import listHelmChartsInjectable from "../../../k8s/helm-charts.api/list.injectable";
|
||||
|
||||
const helmChartsInjectable = getInjectable({
|
||||
id: "helm-charts",
|
||||
|
||||
instantiate: (di) => {
|
||||
const callForHelmCharts = di.inject(callForHelmChartsInjectable);
|
||||
const listHelmCharts = di.inject(listHelmChartsInjectable);
|
||||
|
||||
return asyncComputed(async () => await callForHelmCharts(), []);
|
||||
return asyncComputed(async () => await listHelmCharts(), []);
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
/**
|
||||
* 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 { HelmReleaseCreatePayload, HelmReleaseUpdateDetails } from "../../../../common/k8s-api/endpoints/helm-releases.api";
|
||||
import { createRelease } from "../../../../common/k8s-api/endpoints/helm-releases.api";
|
||||
|
||||
export type CallForCreateHelmRelease = (
|
||||
payload: HelmReleaseCreatePayload
|
||||
) => Promise<HelmReleaseUpdateDetails>;
|
||||
|
||||
const callForCreateHelmReleaseInjectable = getInjectable({
|
||||
id: "call-for-create-helm-release",
|
||||
instantiate: (): CallForCreateHelmRelease => createRelease,
|
||||
causesSideEffects: true,
|
||||
});
|
||||
|
||||
export default callForCreateHelmReleaseInjectable;
|
||||
@ -1,20 +0,0 @@
|
||||
/**
|
||||
* 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 { getChartValues } from "../../../../../common/k8s-api/endpoints/helm-charts.api";
|
||||
|
||||
export type CallForHelmChartValues = (
|
||||
repo: string,
|
||||
name: string,
|
||||
version: string
|
||||
) => Promise<string>;
|
||||
|
||||
const callForHelmChartValuesInjectable = getInjectable({
|
||||
id: "call-for-helm-chart-values",
|
||||
instantiate: (): CallForHelmChartValues => getChartValues,
|
||||
causesSideEffects: true,
|
||||
});
|
||||
|
||||
export default callForHelmChartValuesInjectable;
|
||||
@ -5,8 +5,6 @@
|
||||
import { getInjectable, lifecycleEnum } from "@ogre-tools/injectable";
|
||||
import installChartTabStoreInjectable from "./store.injectable";
|
||||
import { waitUntilDefined } from "../../../../common/utils";
|
||||
import type { CallForHelmChartValues } from "./chart-data/call-for-helm-chart-values.injectable";
|
||||
import callForHelmChartValuesInjectable from "./chart-data/call-for-helm-chart-values.injectable";
|
||||
import type { IChartInstallData, InstallChartTabStore } from "./store";
|
||||
import React from "react";
|
||||
import {
|
||||
@ -16,8 +14,6 @@ import {
|
||||
runInAction,
|
||||
} from "mobx";
|
||||
import assert from "assert";
|
||||
import type { CallForCreateHelmRelease } from "../../+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import callForCreateHelmReleaseInjectable from "../../+helm-releases/create-release/call-for-create-helm-release.injectable";
|
||||
import dockStoreInjectable from "../dock/store.injectable";
|
||||
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";
|
||||
@ -26,15 +22,19 @@ import type { CallForHelmChartVersions } from "../../+helm-charts/details/versio
|
||||
import callForHelmChartVersionsInjectable from "../../+helm-charts/details/versions/call-for-helm-chart-versions.injectable";
|
||||
import type { HelmChart } from "../../../k8s/helm-chart";
|
||||
import type { HelmReleaseUpdateDetails } from "../../../k8s/helm-releases.api/update.injectable";
|
||||
import type { GetHelmChartValues } from "../../../k8s/helm-charts.api/get-values.injectable";
|
||||
import getHelmChartValuesInjectable from "../../../k8s/helm-charts.api/get-values.injectable";
|
||||
import type { CreateHelmRelease } from "../../../k8s/helm-releases.api/create.injectable";
|
||||
import createHelmReleaseInjectable from "../../../k8s/helm-releases.api/create.injectable";
|
||||
|
||||
const installChartModelInjectable = getInjectable({
|
||||
id: "install-chart-model",
|
||||
|
||||
instantiate: async (di, tabId: string) => {
|
||||
const store = di.inject(installChartTabStoreInjectable);
|
||||
const callForHelmChartValues = di.inject(callForHelmChartValuesInjectable);
|
||||
const callForHelmChartValues = di.inject(getHelmChartValuesInjectable);
|
||||
const callForHelmChartVersions = di.inject(callForHelmChartVersionsInjectable);
|
||||
const callForCreateHelmRelease = di.inject(callForCreateHelmReleaseInjectable);
|
||||
const callForCreateHelmRelease = di.inject(createHelmReleaseInjectable);
|
||||
const dockStore = di.inject(dockStoreInjectable);
|
||||
const navigateToHelmReleases = di.inject(navigateToHelmReleasesInjectable);
|
||||
const closeTab = () => dockStore.closeTab(tabId);
|
||||
@ -71,8 +71,8 @@ interface Dependencies {
|
||||
closeTab: () => void;
|
||||
navigateToHelmReleases: NavigateToHelmReleases;
|
||||
waitForChart: () => Promise<void>;
|
||||
callForCreateHelmRelease: CallForCreateHelmRelease;
|
||||
callForHelmChartValues: CallForHelmChartValues;
|
||||
callForCreateHelmRelease: CreateHelmRelease;
|
||||
callForHelmChartValues: GetHelmChartValues;
|
||||
callForHelmChartVersions: CallForHelmChartVersions;
|
||||
store: InstallChartTabStore;
|
||||
}
|
||||
|
||||
@ -7,8 +7,6 @@ import { InstallChartTabStore } from "./store";
|
||||
import createDockTabStoreInjectable from "../dock-tab-store/create-dock-tab-store.injectable";
|
||||
import createStorageInjectable from "../../../utils/create-storage/create-storage.injectable";
|
||||
import type { HelmReleaseUpdateDetails } from "../../../k8s/helm-releases.api/update.injectable";
|
||||
import getHelmChartDetailsInjectable from "../../../k8s/helm-charts.api/get-details.injectable";
|
||||
import getHelmChartValuesInjectable from "../../../k8s/helm-charts.api/get-values.injectable";
|
||||
|
||||
const installChartTabStoreInjectable = getInjectable({
|
||||
id: "install-chart-tab-store",
|
||||
@ -20,8 +18,6 @@ const installChartTabStoreInjectable = getInjectable({
|
||||
createStorage: di.inject(createStorageInjectable),
|
||||
versionsStore: createDockTabStore<string[]>(),
|
||||
detailsStore: createDockTabStore<HelmReleaseUpdateDetails>(),
|
||||
getHelmChartDetails: di.inject(getHelmChartDetailsInjectable),
|
||||
getHelmChartValues: di.inject(getHelmChartValuesInjectable),
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user