Make opening of release details work properly when release has resources without namespace (#6088)

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
authored and GitHub committed 2022-09-08 13:57:11 -04:00
1 parent d4bb416f99
commit ec78080d99
38 files changed
+11090 -10160

No files matched your search

@@ -167,6 +167,7 @@ describe("add custom helm repository in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "add", "some-custom-repository", "http://some.url"],
{ "maxBuffer": 34359738368 },
);
});
@@ -365,6 +366,7 @@ describe("add custom helm repository in preferences", () => {
"--cert-file",
"some-cert-file",
],
{ "maxBuffer": 34359738368 },
);
});
});
@@ -119,6 +119,7 @@ describe("add helm repository from list in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "add", "Some to be added repository", "some-other-url"],
{ "maxBuffer": 34359738368 },
);
});
@@ -227,6 +228,7 @@ describe("add helm repository from list in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "remove", "Some already active repository"],
{ "maxBuffer": 34359738368 },
);
});
@@ -11496,7 +11496,21 @@ exports[`installing helm chart from new tab given tab for installing chart was n
<div
class="drawer-title-text flex gaps align-center"
>
some-release
<i
class="Icon material interactive focusable"
tabindex="0"
>
<span
class="icon"
data-icon-name="content_copy"
>
content_copy
</span>
</i>
<div>
Copy
</div>
</div>
<i
class="Icon material interactive focusable"
@@ -29,6 +29,8 @@ 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 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";
describe("installing helm chart from new tab", () => {
let builder: ApplicationBuilder;
@@ -50,6 +52,9 @@ describe("installing helm chart from new tab", () => {
callForCreateHelmReleaseMock = asyncFn();
builder.beforeWindowStart((windowDi) => {
windowDi.override(callForHelmReleasesInjectable, () => async () => []);
windowDi.override(callForHelmReleaseDetailsInjectable, () => () => new Promise(() => {}));
windowDi.override(
directoryForLensLocalStorageInjectable,
() => "/some-directory-for-lens-local-storage",
@@ -69,6 +69,7 @@ describe("listing active helm repositories in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["env"],
{ "maxBuffer": 34359738368 },
);
});
@@ -76,6 +77,7 @@ describe("listing active helm repositories in preferences", () => {
expect(execFileMock).not.toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "update"],
{ "maxBuffer": 34359738368 },
);
});
@@ -207,6 +209,7 @@ describe("listing active helm repositories in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "update"],
{ "maxBuffer": 34359738368 },
);
});
@@ -265,6 +268,7 @@ describe("listing active helm repositories in preferences", () => {
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "add", "bitnami", "https://charts.bitnami.com/bitnami"],
{ "maxBuffer": 34359738368 },
);
});
@@ -400,6 +404,7 @@ describe("listing active helm repositories in preferences", () => {
expect(execFileMock).not.toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "add", "bitnami", "https://charts.bitnami.com/bitnami"],
{ "maxBuffer": 34359738368 },
);
});
@@ -86,6 +86,7 @@ describe("remove helm repository from list of active repositories in preferences
expect(execFileMock).toHaveBeenCalledWith(
"some-helm-binary-path",
["repo", "remove", "some-active-repository"],
{ "maxBuffer": 34359738368 },
);
});
File diff suppressed because it is too large. Load diff
@@ -288,15 +288,42 @@ describe("showing details for helm release", () => {
});
});
it("when release resolve with no data, renders", async () => {
await callForHelmReleaseMock.resolve(undefined);
expect(rendered.baseElement).toMatchSnapshot();
describe("when call for release resolves with error", () => {
beforeEach(async () => {
await callForHelmReleaseMock.resolve({
callWasSuccessful: false,
error: "some-error",
});
});
it("renders", async () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it("does not show spinner anymore", () => {
expect(
rendered.queryByTestId("helm-release-detail-content-spinner"),
).not.toBeInTheDocument();
});
it("shows error message about missing release", () => {
expect(
rendered.getByTestId("helm-release-detail-error"),
).toBeInTheDocument();
});
it("does not call for release configuration", () => {
expect(callForHelmReleaseConfigurationMock).not.toHaveBeenCalled();
});
});
describe("when details resolve", () => {
describe("when call for release resolve with release", () => {
beforeEach(async () => {
await callForHelmReleaseMock.resolve(detailedReleaseFake);
await callForHelmReleaseMock.resolve({
callWasSuccessful: true,
response: detailedReleaseFake,
});
});
it("renders", () => {