mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Testing removing a regular namespace
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
6184325507
commit
9f0b4323db
@ -3,11 +3,15 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* 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 { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer } from "@ogre-tools/injectable";
|
||||||
import { observable } from "mobx";
|
import { observable } from "mobx";
|
||||||
import directoryForKubeConfigsInjectable from "../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
|
import directoryForKubeConfigsInjectable from "../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
|
||||||
import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable";
|
||||||
import { Namespace } from "../../../common/k8s-api/endpoints";
|
import type { Fetch } from "../../../common/fetch/fetch.injectable";
|
||||||
|
import fetchInjectable from "../../../common/fetch/fetch.injectable";
|
||||||
|
import { Namespace, NamespaceApi } from "../../../common/k8s-api/endpoints";
|
||||||
import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable";
|
import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable";
|
||||||
import createClusterInjectable from "../../cluster/create-cluster.injectable";
|
import createClusterInjectable from "../../cluster/create-cluster.injectable";
|
||||||
import { getDiForUnitTesting } from "../../getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../../getDiForUnitTesting";
|
||||||
@ -99,14 +103,19 @@ const levelDeepSubChildA = createNamespace("level-deep-subchild-a", {
|
|||||||
"level-deep-subchild-a.tree.hnc.x-k8s.io/depth": "0",
|
"level-deep-subchild-a.tree.hnc.x-k8s.io/depth": "0",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const deleteMock = jest.spyOn(NamespaceApi.prototype, "delete")
|
||||||
|
.mockImplementation();
|
||||||
|
|
||||||
describe("NamespaceStore", () => {
|
describe("NamespaceStore", () => {
|
||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
let namespaceStore: NamespaceStore;
|
let namespaceStore: NamespaceStore;
|
||||||
|
let fetchMock: AsyncFnMock<Fetch>;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
||||||
|
|
||||||
|
fetchMock = asyncFn();
|
||||||
|
di.override(fetchInjectable, () => fetchMock);
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
|
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
@ -202,4 +211,12 @@ describe("NamespaceStore", () => {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("when removing a full namespace", () => {
|
||||||
|
it("removes namespace", () => {
|
||||||
|
namespaceStore.remove(acmeGroup);
|
||||||
|
|
||||||
|
expect(deleteMock).toBeCalledWith({ name: "acme-org", namespace: undefined });
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user