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

Fix configuration shown release details being stale (#7174)

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen 2023-02-16 14:49:43 +02:00 committed by GitHub
parent 54e874f646
commit 4bf72742fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 2170 additions and 13 deletions

View File

@ -224,15 +224,96 @@ describe("showing details for helm release", () => {
it("closes details for first release", () => {
expect(
rendered.queryByTestId("helm-release-details-for-some-namespace/some-name"),
rendered.queryByTestId(
"helm-release-details-for-some-namespace/some-name",
),
).not.toBeInTheDocument();
});
it("opens details for second release", () => {
expect(
rendered.getByTestId("helm-release-details-for-some-other-namespace/some-other-name"),
rendered.getByTestId(
"helm-release-details-for-some-other-namespace/some-other-name",
),
).toBeInTheDocument();
});
it("shows spinner", () => {
expect(
rendered.getByTestId("helm-release-detail-content-spinner"),
).toBeInTheDocument();
});
describe("when details for second release resolve", () => {
beforeEach(async () => {
await requestDetailedHelmReleaseMock.resolve({
callWasSuccessful: true,
response: {
release: {
appVersion: "some-app-version",
chart: "some-chart-1.0.0",
status: "some-status",
updated: "some-updated",
revision: "some-revision",
name: "some-other-name",
namespace: "some-other-namespace",
},
details: {
name: "some-other-name",
namespace: "some-other-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",
},
},
],
},
},
});
});
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
it("calls for release configuration", () => {
expect(
requestHelmReleaseConfigurationMock,
).toHaveBeenCalledWith("some-other-name", "some-other-namespace", true);
});
describe("when configuration resolves", () => {
beforeEach(async () => {
await requestHelmReleaseConfigurationMock.resolve(
"some-other-configuration",
);
});
it("renders", () => {
expect(rendered.baseElement).toMatchSnapshot();
});
});
});
});
describe("when details is closed", () => {
@ -410,7 +491,7 @@ describe("showing details for helm release", () => {
describe("when changing the configuration", () => {
beforeEach(() => {
const configuration = rendered.getByTestId(
"monaco-editor-for-helm-release-configuration",
"monaco-editor-for-helm-release-configuration-some-namespace/some-name",
);
fireEvent.change(configuration, {
@ -424,7 +505,7 @@ describe("showing details for helm release", () => {
it("has the configuration", () => {
const input = rendered.getByTestId(
"monaco-editor-for-helm-release-configuration",
"monaco-editor-for-helm-release-configuration-some-namespace/some-name",
);
expect(input).toHaveValue("some-new-configuration");
@ -466,7 +547,7 @@ describe("showing details for helm release", () => {
it("overrides the user inputted configuration with new configuration", () => {
const input = rendered.getByTestId(
"monaco-editor-for-helm-release-configuration",
"monaco-editor-for-helm-release-configuration-some-namespace/some-name",
);
expect(input).toHaveValue("some-other-configuration");

View File

@ -85,6 +85,7 @@ const NonInjectedReleaseDetailsContent = observer(({ model }: Dependencies & Rel
</DrawerItem>
<ReleaseValues
releaseId={model.id}
configuration={model.configuration}
onlyUserSuppliedValuesAreShown={
model.onlyUserSuppliedValuesAreShown
@ -150,11 +151,12 @@ const ResourceGroup = ({
);
interface ReleaseValuesProps {
releaseId: string;
configuration: ConfigurationInput;
onlyUserSuppliedValuesAreShown: OnlyUserSuppliedValuesAreShownToggle;
}
const ReleaseValues = observer(({ configuration, onlyUserSuppliedValuesAreShown }: ReleaseValuesProps) => {
const ReleaseValues = observer(({ releaseId, configuration, onlyUserSuppliedValuesAreShown }: ReleaseValuesProps) => {
const configurationIsLoading = configuration.isLoading.get();
return (
@ -171,7 +173,7 @@ const ReleaseValues = observer(({ configuration, onlyUserSuppliedValuesAreShown
/>
<MonacoEditor
id="helm-release-configuration"
id={`helm-release-configuration-${releaseId}`}
style={{ minHeight: 300 }}
value={configuration.nonSavedValue.get()}
onChange={configuration.onChange}