mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Simplify test setup by removing option for global overrides (#7302)
* Remove option to doGeneralOverrides and do it always Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Override telemetry by default to optimize and simplify testing Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com> Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Simplify more usages of getDiForUnitTesting Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> * Fix code style Signed-off-by: Janne Savolainen <janne.savolainen@live.fi> --------- Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
parent
8fa92c06ea
commit
0d480917cf
@ -67,7 +67,7 @@ describe("cluster-store", () => {
|
|||||||
let writeFileSyncAndReturnPath: (filePath: string, contents: string) => string;
|
let writeFileSyncAndReturnPath: (filePath: string, contents: string) => string;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(directoryForTempInjectable, () => "/some-temp-directory");
|
di.override(directoryForTempInjectable, () => "/some-temp-directory");
|
||||||
|
|||||||
@ -17,7 +17,7 @@ describe("create resource stack tests", () => {
|
|||||||
let cluster: KubernetesCluster;
|
let cluster: KubernetesCluster;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
cluster = {
|
cluster = {
|
||||||
getId: () => "test-cluster",
|
getId: () => "test-cluster",
|
||||||
} as any;
|
} as any;
|
||||||
|
|||||||
@ -43,7 +43,7 @@ describe("HotbarStore", () => {
|
|||||||
let loggerMock: jest.Mocked<Logger>;
|
let loggerMock: jest.Mocked<Logger>;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
testCluster = getMockCatalogEntity({
|
testCluster = getMockCatalogEntity({
|
||||||
apiVersion: "v1",
|
apiVersion: "v1",
|
||||||
|
|||||||
@ -21,7 +21,7 @@ describe("user store tests", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(writeFileInjectable, () => () => Promise.resolve());
|
di.override(writeFileInjectable, () => () => Promise.resolve());
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
|
|||||||
@ -12,7 +12,7 @@ describe("kubernetesClusterCategory", () => {
|
|||||||
let kubernetesClusterCategory: KubernetesClusterCategory;
|
let kubernetesClusterCategory: KubernetesClusterCategory;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
|
kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -20,7 +20,7 @@ describe("requestNamespaceListPermissions", () => {
|
|||||||
let requestNamespaceListPermissions: RequestNamespaceListPermissionsFor;
|
let requestNamespaceListPermissions: RequestNamespaceListPermissionsFor;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
requestNamespaceListPermissions = di.inject(requestNamespaceListPermissionsForInjectable);
|
requestNamespaceListPermissions = di.inject(requestNamespaceListPermissionsForInjectable);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import { pipeline } from "@ogre-tools/fp";
|
|||||||
|
|
||||||
describe("verify-that-all-routes-have-component", () => {
|
describe("verify-that-all-routes-have-component", () => {
|
||||||
it("verify that routes have route component", () => {
|
it("verify that routes have route component", () => {
|
||||||
const rendererDi = getDiForUnitTesting({ doGeneralOverrides: true });
|
const rendererDi = getDiForUnitTesting();
|
||||||
|
|
||||||
rendererDi.override(clusterStoreInjectable, () => ({
|
rendererDi.override(clusterStoreInjectable, () => ({
|
||||||
getById: () => null,
|
getById: () => null,
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("InitializableState tests", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("when created", () => {
|
describe("when created", () => {
|
||||||
|
|||||||
@ -37,7 +37,7 @@ describe("ApiManager", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("DeploymentApi", () => {
|
|||||||
let kubeJsonApi: jest.Mocked<KubeJsonApi>;
|
let kubeJsonApi: jest.Mocked<KubeJsonApi>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
kubeJsonApi = {
|
kubeJsonApi = {
|
||||||
|
|||||||
@ -30,7 +30,7 @@ describe("KubeApi", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
fetchMock = asyncFn();
|
fetchMock = asyncFn();
|
||||||
di.override(fetchInjectable, () => fetchMock);
|
di.override(fetchInjectable, () => fetchMock);
|
||||||
|
|||||||
@ -42,7 +42,7 @@ describe("createKubeApiForRemoteCluster", () => {
|
|||||||
let fetchMock: AsyncFnMock<Fetch>;
|
let fetchMock: AsyncFnMock<Fetch>;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
@ -145,7 +145,7 @@ describe("KubeApi", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("StatefulSetApi", () => {
|
|||||||
let kubeJsonApi: jest.Mocked<KubeJsonApi>;
|
let kubeJsonApi: jest.Mocked<KubeJsonApi>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
kubeJsonApi = {
|
kubeJsonApi = {
|
||||||
|
|||||||
@ -18,7 +18,7 @@ describe("with-error-logging", () => {
|
|||||||
let logErrorMock: jest.Mock;
|
let logErrorMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
logErrorMock = jest.fn();
|
logErrorMock = jest.fn();
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ describe("with-error-logging", () => {
|
|||||||
let logErrorMock: jest.Mock;
|
let logErrorMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
logErrorMock = jest.fn();
|
logErrorMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ describe("with orphan promise, when called", () => {
|
|||||||
let logErrorMock: jest.Mock;
|
let logErrorMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
logErrorMock = jest.fn();
|
logErrorMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ describe("ExtensionLoader", () => {
|
|||||||
let updateExtensionStateMock: jest.Mock;
|
let updateExtensionStateMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(currentlyInClusterFrameInjectable, () => false);
|
di.override(currentlyInClusterFrameInjectable, () => false);
|
||||||
|
|||||||
@ -32,7 +32,7 @@ describe("ExtensionDiscovery", () => {
|
|||||||
let homeDirectoryPath: string;
|
let homeDirectoryPath: string;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(installExtensionInjectable, () => () => Promise.resolve());
|
di.override(installExtensionInjectable, () => () => Promise.resolve());
|
||||||
|
|||||||
@ -18,7 +18,7 @@ describe("ensure-hashed-directory-for-extension", () => {
|
|||||||
let registeredExtensions: ObservableMap<string, string>;
|
let registeredExtensions: ObservableMap<string, string>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
ensureDirMock = jest.fn();
|
ensureDirMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -23,6 +23,8 @@ describe("check-for-platform-updates", () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting();
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.unoverride(checkForPlatformUpdatesInjectable);
|
||||||
|
|
||||||
checkForUpdatesMock = asyncFn();
|
checkForUpdatesMock = asyncFn();
|
||||||
|
|
||||||
electronUpdaterFake = {
|
electronUpdaterFake = {
|
||||||
|
|||||||
@ -26,6 +26,8 @@ describe("download-platform-update", () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting();
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.unoverride(downloadPlatformUpdateInjectable);
|
||||||
|
|
||||||
downloadUpdateMock = asyncFn();
|
downloadUpdateMock = asyncFn();
|
||||||
electronUpdaterOnMock = jest.fn();
|
electronUpdaterOnMock = jest.fn();
|
||||||
electronUpdaterOffMock = jest.fn();
|
electronUpdaterOffMock = jest.fn();
|
||||||
|
|||||||
@ -37,9 +37,7 @@ describe("computeUnixShellEnvironment technical tests", () => {
|
|||||||
let unixShellEnv: ReturnType<ComputeUnixShellEnvironment>;
|
let unixShellEnv: ReturnType<ComputeUnixShellEnvironment>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({
|
di = getDiForUnitTesting();
|
||||||
doGeneralOverrides: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
spawnMock = jest.fn().mockImplementation((spawnfile, spawnargs) => {
|
spawnMock = jest.fn().mockImplementation((spawnfile, spawnargs) => {
|
||||||
shellStdin = new MemoryStream();
|
shellStdin = new MemoryStream();
|
||||||
|
|||||||
@ -9,12 +9,15 @@ import { getDiForUnitTesting } from "../../renderer/getDiForUnitTesting";
|
|||||||
import telemetryWhiteListForFunctionsInjectable from "./renderer/telemetry-white-list-for-functions.injectable";
|
import telemetryWhiteListForFunctionsInjectable from "./renderer/telemetry-white-list-for-functions.injectable";
|
||||||
import emitEventInjectable from "../../common/app-event-bus/emit-event.injectable";
|
import emitEventInjectable from "../../common/app-event-bus/emit-event.injectable";
|
||||||
import logErrorInjectable from "../../common/log-error.injectable";
|
import logErrorInjectable from "../../common/log-error.injectable";
|
||||||
|
import telemetryDecoratorInjectable from "./renderer/telemetry-decorator.injectable";
|
||||||
|
|
||||||
describe("emit-telemetry-from-specific-function-calls", () => {
|
describe("emit-telemetry-from-specific-function-calls", () => {
|
||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.unoverride(telemetryDecoratorInjectable);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("given a telemetry white-list for injectables which instantiate a function", () => {
|
describe("given a telemetry white-list for injectables which instantiate a function", () => {
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { identity } from "lodash/fp";
|
||||||
|
import { getGlobalOverride } from "../../../common/test-utils/get-global-override";
|
||||||
|
import telemetryDecoratorInjectable from "./telemetry-decorator.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(telemetryDecoratorInjectable, () => ({
|
||||||
|
decorate: identity,
|
||||||
|
}));
|
||||||
@ -31,7 +31,7 @@ describe("create clusters", () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
const clusterServerUrl = "https://192.168.64.3:8443";
|
const clusterServerUrl = "https://192.168.64.3:8443";
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
||||||
|
|||||||
@ -53,7 +53,7 @@ describe("ContextHandler", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
di.override(createKubeAuthProxyInjectable, () => ({} as any));
|
di.override(createKubeAuthProxyInjectable, () => ({} as any));
|
||||||
|
|
||||||
createContextHandler = di.inject(createContextHandlerInjectable);
|
createContextHandler = di.inject(createContextHandlerInjectable);
|
||||||
|
|||||||
@ -39,7 +39,7 @@ describe("kube auth proxy tests", () => {
|
|||||||
let getBasenameOfPath: GetBasenameOfPath;
|
let getBasenameOfPath: GetBasenameOfPath;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
||||||
|
|||||||
@ -46,7 +46,7 @@ describe("kubeconfig manager tests", () => {
|
|||||||
let ensureServerMock: AsyncFnMock<() => Promise<void>>;
|
let ensureServerMock: AsyncFnMock<() => Promise<void>>;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
|
|||||||
@ -11,7 +11,7 @@ describe("static-file-route", () => {
|
|||||||
let handleStaticFileRoute: Route<Buffer, "/{path*}">;
|
let handleStaticFileRoute: Route<Buffer, "/{path*}">;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
handleStaticFileRoute = di.inject(staticFileRouteInjectable);
|
handleStaticFileRoute = di.inject(staticFileRouteInjectable);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -11,7 +11,9 @@ describe("get-electron-app-path", () => {
|
|||||||
let getElectronAppPath: (name: string) => string;
|
let getElectronAppPath: (name: string) => string;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: false });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.unoverride(getElectronAppPathInjectable);
|
||||||
|
|
||||||
const appStub = {
|
const appStub = {
|
||||||
name: "some-app-name",
|
name: "some-app-name",
|
||||||
|
|||||||
@ -43,7 +43,7 @@ describe("kubeconfig-sync.source tests", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
|
||||||
|
|||||||
@ -65,7 +65,7 @@ describe("CatalogEntityRegistry", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
entityRegistry = di.inject(catalogEntityRegistryInjectable);
|
entityRegistry = di.inject(catalogEntityRegistryInjectable);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -24,7 +24,7 @@ describe("detect-cluster-metadata", () => {
|
|||||||
let cluster: Cluster;
|
let cluster: Cluster;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
const lastSeenDetectMock = jest.fn().mockReturnValue(Promise.resolve({ value: "some-time-stamp", accuracy: 100 }));
|
const lastSeenDetectMock = jest.fn().mockReturnValue(Promise.resolve({ value: "some-time-stamp", accuracy: 100 }));
|
||||||
const nodeCountDetectMock = jest.fn().mockReturnValue(Promise.resolve({ value: 42, accuracy: 100 }));
|
const nodeCountDetectMock = jest.fn().mockReturnValue(Promise.resolve({ value: 42, accuracy: 100 }));
|
||||||
|
|||||||
@ -33,11 +33,7 @@ import {
|
|||||||
} from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
} from "../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||||
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
import { registerMobX } from "@ogre-tools/injectable-extension-for-mobx";
|
||||||
|
|
||||||
export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {}) {
|
export function getDiForUnitTesting() {
|
||||||
const {
|
|
||||||
doGeneralOverrides = false,
|
|
||||||
} = opts;
|
|
||||||
|
|
||||||
const di = createContainer("main");
|
const di = createContainer("main");
|
||||||
|
|
||||||
registerMobX(di);
|
registerMobX(di);
|
||||||
@ -56,34 +52,32 @@ export function getDiForUnitTesting(opts: { doGeneralOverrides?: boolean } = {})
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (doGeneralOverrides) {
|
for (const globalOverridePath of global.injectablePaths.main.globalOverridePaths) {
|
||||||
for (const globalOverridePath of global.injectablePaths.main.globalOverridePaths) {
|
const globalOverride = require(globalOverridePath).default as GlobalOverride;
|
||||||
const globalOverride = require(globalOverridePath).default as GlobalOverride;
|
|
||||||
|
|
||||||
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
||||||
}
|
|
||||||
|
|
||||||
di.override(electronInjectable, () => ({}));
|
|
||||||
di.override(waitUntilBundledExtensionsAreLoadedInjectable, () => async () => {});
|
|
||||||
|
|
||||||
overrideRunnablesHavingSideEffects(di);
|
|
||||||
overrideElectronFeatures(di);
|
|
||||||
getOverrideFsWithFakes()(di);
|
|
||||||
|
|
||||||
di.override(clusterFramesInjectable, () => observable.map<string, ClusterFrameInfo>());
|
|
||||||
|
|
||||||
di.override(broadcastMessageInjectable, () => (channel) => {
|
|
||||||
throw new Error(`Tried to broadcast message to channel "${channel}" over IPC without explicit override.`);
|
|
||||||
});
|
|
||||||
di.override(spawnInjectable, () => () => {
|
|
||||||
return {
|
|
||||||
stderr: { on: jest.fn(), removeAllListeners: jest.fn() },
|
|
||||||
stdout: { on: jest.fn(), removeAllListeners: jest.fn() },
|
|
||||||
on: jest.fn(),
|
|
||||||
} as never;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
di.override(electronInjectable, () => ({}));
|
||||||
|
di.override(waitUntilBundledExtensionsAreLoadedInjectable, () => async () => {});
|
||||||
|
|
||||||
|
overrideRunnablesHavingSideEffects(di);
|
||||||
|
overrideElectronFeatures(di);
|
||||||
|
getOverrideFsWithFakes()(di);
|
||||||
|
|
||||||
|
di.override(clusterFramesInjectable, () => observable.map<string, ClusterFrameInfo>());
|
||||||
|
|
||||||
|
di.override(broadcastMessageInjectable, () => (channel) => {
|
||||||
|
throw new Error(`Tried to broadcast message to channel "${channel}" over IPC without explicit override.`);
|
||||||
|
});
|
||||||
|
di.override(spawnInjectable, () => () => {
|
||||||
|
return {
|
||||||
|
stderr: { on: jest.fn(), removeAllListeners: jest.fn() },
|
||||||
|
stdout: { on: jest.fn(), removeAllListeners: jest.fn() },
|
||||||
|
on: jest.fn(),
|
||||||
|
} as never;
|
||||||
|
});
|
||||||
|
|
||||||
return di;
|
return di;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ describe("Helm Service tests", () => {
|
|||||||
let getActiveHelmRepositoriesMock: jest.Mock<Promise<AsyncResult<HelmRepo[]>>>;
|
let getActiveHelmRepositoriesMock: jest.Mock<Promise<AsyncResult<HelmRepo[]>>>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
getActiveHelmRepositoriesMock = jest.fn();
|
getActiveHelmRepositoriesMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ describe("exec-file-with-input", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.unoverride(execFileWithInputInjectable);
|
di.unoverride(execFileWithInputInjectable);
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ describe("get helm release resources", () => {
|
|||||||
let execFileWithStreamInputMock: AsyncFnMock<ExecFileWithInput>;
|
let execFileWithStreamInputMock: AsyncFnMock<ExecFileWithInput>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
execHelmMock = asyncFn();
|
execHelmMock = asyncFn();
|
||||||
execFileWithStreamInputMock = asyncFn();
|
execFileWithStreamInputMock = asyncFn();
|
||||||
|
|||||||
@ -37,7 +37,7 @@ describe("protocol router tests", () => {
|
|||||||
let broadcastMessageMock: jest.Mock;
|
let broadcastMessageMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(pathExistsInjectable, () => () => { throw new Error("tried call pathExists without override"); });
|
di.override(pathExistsInjectable, () => () => { throw new Error("tried call pathExists without override"); });
|
||||||
di.override(pathExistsSyncInjectable, () => () => { throw new Error("tried call pathExistsSync without override"); });
|
di.override(pathExistsSyncInjectable, () => () => { throw new Error("tried call pathExistsSync without override"); });
|
||||||
|
|||||||
@ -28,7 +28,7 @@ describe("router", () => {
|
|||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
routeHandlerMock = asyncFn();
|
routeHandlerMock = asyncFn();
|
||||||
|
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(parseRequestInjectable, () => () => Promise.resolve({
|
di.override(parseRequestInjectable, () => () => Promise.resolve({
|
||||||
payload: "some-payload",
|
payload: "some-payload",
|
||||||
|
|||||||
@ -26,9 +26,7 @@ describe("technical unit tests for local shell sessions", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({
|
di = getDiForUnitTesting();
|
||||||
doGeneralOverrides: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
di.override(buildVersionInjectable, () => ({
|
di.override(buildVersionInjectable, () => ({
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("enlist message channel listener in main", () => {
|
|||||||
let offMock: jest.Mock;
|
let offMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
onMock = jest.fn();
|
onMock = jest.fn();
|
||||||
offMock = jest.fn();
|
offMock = jest.fn();
|
||||||
|
|||||||
@ -26,7 +26,7 @@ describe("enlist request channel listener in main", () => {
|
|||||||
let offMock: jest.Mock;
|
let offMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
handleMock = jest.fn();
|
handleMock = jest.fn();
|
||||||
offMock = jest.fn();
|
offMock = jest.fn();
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("message-to-channel", () => {
|
|||||||
let sendToWindowMock: jest.Mock;
|
let sendToWindowMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
sendToWindowMock = jest.fn();
|
sendToWindowMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@ describe("technical: resolve-system-proxy-from-electron", () => {
|
|||||||
let actualPromise: Promise<string>;
|
let actualPromise: Promise<string>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
logErrorMock = jest.fn();
|
logErrorMock = jest.fn();
|
||||||
di.override(logErrorInjectable, () => logErrorMock);
|
di.override(logErrorInjectable, () => logErrorMock);
|
||||||
|
|||||||
@ -80,7 +80,7 @@ describe("CatalogEntityRegistry", () => {
|
|||||||
let catalogCategoryRegistry: CatalogCategoryRegistry;
|
let catalogCategoryRegistry: CatalogCategoryRegistry;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
entityRegistry = di.inject(catalogEntityRegistryInjectable);
|
entityRegistry = di.inject(catalogEntityRegistryInjectable);
|
||||||
catalogCategoryRegistry = di.inject(catalogCategoryRegistryInjectable);
|
catalogCategoryRegistry = di.inject(catalogCategoryRegistryInjectable);
|
||||||
|
|||||||
@ -18,7 +18,7 @@ describe("WebsocketApi tests", () => {
|
|||||||
let api: TestWebSocketApi;
|
let api: TestWebSocketApi;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
api = new TestWebSocketApi({
|
api = new TestWebSocketApi({
|
||||||
defaultParams: di.inject(defaultWebsocketApiParamsInjectable),
|
defaultParams: di.inject(defaultWebsocketApiParamsInjectable),
|
||||||
|
|||||||
@ -31,7 +31,7 @@ describe("CatalogAddButton", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -70,7 +70,7 @@ describe("CatalogEntityStore", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("getTotalCount", () => {
|
describe("getTotalCount", () => {
|
||||||
|
|||||||
@ -44,7 +44,7 @@ describe("Custom Category Columns", () => {
|
|||||||
let getCategoryColumns: (params: GetCategoryColumnsParams) => CategoryColumns;
|
let getCategoryColumns: (params: GetCategoryColumnsParams) => CategoryColumns;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(hotbarStoreInjectable, () => ({}));
|
di.override(hotbarStoreInjectable, () => ({}));
|
||||||
di.override(currentlyInClusterFrameInjectable, () => false);
|
di.override(currentlyInClusterFrameInjectable, () => false);
|
||||||
|
|||||||
@ -16,7 +16,7 @@ describe("Custom Category Views", () => {
|
|||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should order items correctly over all extensions", () => {
|
it("should order items correctly over all extensions", () => {
|
||||||
|
|||||||
@ -39,7 +39,7 @@ describe("<HpaDetails/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -20,7 +20,7 @@ jest.mock("../../kube-object-meta/kube-object-meta", () => ({
|
|||||||
|
|
||||||
describe("SecretDetails tests", () => {
|
describe("SecretDetails tests", () => {
|
||||||
it("should show the visibility toggle when the secret value is ''", () => {
|
it("should show the visibility toggle when the secret value is ''", () => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
const render = renderFor(di);
|
const render = renderFor(di);
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-user-data");
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("<CustomResourceDetails />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -39,7 +39,7 @@ describe("Extensions", () => {
|
|||||||
let downloadBinary: jest.MockedFunction<DownloadBinary>;
|
let downloadBinary: jest.MockedFunction<DownloadBinary>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
||||||
di.override(directoryForDownloadsInjectable, () => "some-directory-for-downloads");
|
di.override(directoryForDownloadsInjectable, () => "some-directory-for-downloads");
|
||||||
|
|||||||
@ -48,7 +48,7 @@ describe("<NamespaceSelectFilter />", () => {
|
|||||||
let cleanup: Disposer;
|
let cleanup: Disposer;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
di.unoverride(subscribeStoresInjectable);
|
di.unoverride(subscribeStoresInjectable);
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
|
||||||
|
|||||||
@ -105,7 +105,7 @@ describe("NamespaceStore", () => {
|
|||||||
let namespaceStore: NamespaceStore;
|
let namespaceStore: NamespaceStore;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -106,7 +106,7 @@ describe("<NamespaceTreeView />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(hierarchicalNamespacesInjectable, () => [
|
di.override(hierarchicalNamespacesInjectable, () => [
|
||||||
acmeGroup,
|
acmeGroup,
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("NetworkPolicyDetails", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -27,7 +27,7 @@ describe("ClusterRoleBindingDialog tests", () => {
|
|||||||
let openClusterRoleBindingDialog: OpenClusterRoleBindingDialog;
|
let openClusterRoleBindingDialog: OpenClusterRoleBindingDialog;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -24,7 +24,7 @@ describe("RoleBindingDialog tests", () => {
|
|||||||
let openRoleBindingDialog: OpenRoleBindingDialog;
|
let openRoleBindingDialog: OpenRoleBindingDialog;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -23,7 +23,7 @@ describe("<Welcome/>", () => {
|
|||||||
let welcomeBannersStub: WelcomeBannerRegistration[];
|
let welcomeBannersStub: WelcomeBannerRegistration[];
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(currentlyInClusterFrameInjectable, () => false);
|
di.override(currentlyInClusterFrameInjectable, () => false);
|
||||||
|
|
||||||
|
|||||||
@ -88,7 +88,7 @@ describe("<DeploymentScaleDialog />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ describe("<ContainerEnv />", () => {
|
|||||||
let configMapStore: jest.Mocked<Pick<ConfigMapStore, "load" | "getByName">>;
|
let configMapStore: jest.Mocked<Pick<ConfigMapStore, "load" | "getByName">>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
secretStore = ({
|
secretStore = ({
|
||||||
load: jest.fn().mockImplementation(async () => {
|
load: jest.fn().mockImplementation(async () => {
|
||||||
|
|||||||
@ -32,7 +32,7 @@ describe("<PodTolerations />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForLensLocalStorageInjectable, () => "some-directory-for-lens-local-storage" );
|
di.override(directoryForLensLocalStorageInjectable, () => "some-directory-for-lens-local-storage" );
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ describe("<CephFs />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
|
|
||||||
|
|||||||
@ -81,7 +81,7 @@ describe("<ReplicaSetScaleDialog />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
|
||||||
|
|||||||
@ -92,7 +92,7 @@ describe("<StatefulSetScaleDialog />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
|
||||||
|
|||||||
@ -121,7 +121,7 @@ describe("CronJob Store tests", () => {
|
|||||||
let cronJobStore: CronJobStore;
|
let cronJobStore: CronJobStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -138,7 +138,7 @@ describe("DaemonSet Store tests", () => {
|
|||||||
let daemonSetStore: DaemonSetStore;
|
let daemonSetStore: DaemonSetStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -210,7 +210,7 @@ describe("Deployment Store tests", () => {
|
|||||||
let deploymentStore: DeploymentStore;
|
let deploymentStore: DeploymentStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -175,7 +175,7 @@ describe("Job Store tests", () => {
|
|||||||
let jobStore: JobStore;
|
let jobStore: JobStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -121,7 +121,7 @@ describe("Pod Store tests", () => {
|
|||||||
let podStore: PodStore;
|
let podStore: PodStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -138,7 +138,7 @@ describe("ReplicaSet Store tests", () => {
|
|||||||
let replicaSetStore: ReplicaSetStore;
|
let replicaSetStore: ReplicaSetStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -138,7 +138,7 @@ describe("StatefulSet Store tests", () => {
|
|||||||
let statefulSetStore: StatefulSetStore;
|
let statefulSetStore: StatefulSetStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -14,7 +14,7 @@ describe("<Avatar/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -21,7 +21,7 @@ describe("ClusterLocalTerminalSettings", () => {
|
|||||||
let statMock: jest.Mock;
|
let statMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
showErrorNotificationMock = jest.fn();
|
showErrorNotificationMock = jest.fn();
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ describe("DockStore", () => {
|
|||||||
let dockStore: DockStore;
|
let dockStore: DockStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
di.override(hostedClusterIdInjectable, () => "some-cluster-id");
|
||||||
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
|
||||||
|
|||||||
@ -107,7 +107,7 @@ describe("<LogResourceSelector />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
const { ensureDirSync } = di.inject(fsInjectable);
|
const { ensureDirSync } = di.inject(fsInjectable);
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@ describe("LogSearch tests", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("<ToBottom/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,7 +14,7 @@ describe("<DrawerParamToggler />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
result = render((
|
result = render((
|
||||||
|
|||||||
@ -30,7 +30,7 @@ describe("<HotbarRemoveCommand />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
|
|||||||
@ -28,7 +28,7 @@ describe("kube-object-list-layout", () => {
|
|||||||
let podStore: PodStore;
|
let podStore: PodStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
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");
|
||||||
|
|||||||
@ -32,7 +32,7 @@ describe("kube-object-menu", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
runInAction(() => {
|
runInAction(() => {
|
||||||
di.register(
|
di.register(
|
||||||
|
|||||||
@ -34,7 +34,7 @@ describe("<SidebarCluster/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(hotbarStoreInjectable, () => ({
|
di.override(hotbarStoreInjectable, () => ({
|
||||||
isAddedToActive: () => {},
|
isAddedToActive: () => {},
|
||||||
|
|||||||
@ -34,7 +34,7 @@ describe("<TopBar/>", () => {
|
|||||||
let toggleMaximizeWindow: jest.MockedFunction<() => void>;
|
let toggleMaximizeWindow: jest.MockedFunction<() => void>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(rendererExtensionsInjectable, () => computed(() => []));
|
di.override(rendererExtensionsInjectable, () => computed(() => []));
|
||||||
di.override(openAppContextMenuInjectable, () => openAppContextMenu = jest.fn());
|
di.override(openAppContextMenuInjectable, () => openAppContextMenu = jest.fn());
|
||||||
|
|||||||
@ -10,7 +10,9 @@ describe("get-editor-height-from-lines-number", () => {
|
|||||||
let getEditorHeightFromLinesNumber: (linesCount: number) => number;
|
let getEditorHeightFromLinesNumber: (linesCount: number) => number;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: false });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
|
di.unoverride(getEditorHeightFromLinesCountInjectable);
|
||||||
|
|
||||||
getEditorHeightFromLinesNumber = di.inject(getEditorHeightFromLinesCountInjectable);
|
getEditorHeightFromLinesNumber = di.inject(getEditorHeightFromLinesCountInjectable);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -17,7 +17,7 @@ describe("<RenderDelay/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ describe("<ScrollSpy/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
@ -107,7 +107,7 @@ describe("<TreeView/> dataTree inside <ScrollSpy/>", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -20,7 +20,7 @@ describe("<Select />", () => {
|
|||||||
let render: DiRender;
|
let render: DiRender;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
render = renderFor(di);
|
render = renderFor(di);
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
|
|||||||
@ -168,9 +168,7 @@ interface Environment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const getApplicationBuilder = () => {
|
export const getApplicationBuilder = () => {
|
||||||
const mainDi = getMainDi({
|
const mainDi = getMainDi();
|
||||||
doGeneralOverrides: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
runInAction(() => {
|
runInAction(() => {
|
||||||
registerFeature(
|
registerFeature(
|
||||||
@ -236,7 +234,7 @@ export const getApplicationBuilder = () => {
|
|||||||
const createElectronWindowFake: CreateElectronWindow = (configuration) => {
|
const createElectronWindowFake: CreateElectronWindow = (configuration) => {
|
||||||
const windowId = configuration.id;
|
const windowId = configuration.id;
|
||||||
|
|
||||||
const windowDi = getRendererDi({ doGeneralOverrides: true });
|
const windowDi = getRendererDi();
|
||||||
|
|
||||||
overrideForWindow(windowDi, windowId);
|
overrideForWindow(windowDi, windowId);
|
||||||
overrideFsWithFakes(windowDi);
|
overrideFsWithFakes(windowDi);
|
||||||
|
|||||||
@ -32,7 +32,7 @@ describe("<ClusterFrame />", () => {
|
|||||||
let cluster: Cluster;
|
let cluster: Cluster;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting();
|
||||||
render = () => testingLibraryRender((
|
render = () => testingLibraryRender((
|
||||||
<DiContextProvider value={{ di }}>
|
<DiContextProvider value={{ di }}>
|
||||||
<Router history={di.inject(historyInjectable)}>
|
<Router history={di.inject(historyInjectable)}>
|
||||||
|
|||||||
@ -24,11 +24,7 @@ import {
|
|||||||
} from "@ogre-tools/injectable-extension-for-mobx";
|
} from "@ogre-tools/injectable-extension-for-mobx";
|
||||||
import { registerInjectableReact } from "@ogre-tools/injectable-react";
|
import { registerInjectableReact } from "@ogre-tools/injectable-react";
|
||||||
|
|
||||||
export const getDiForUnitTesting = (
|
export const getDiForUnitTesting = () => {
|
||||||
opts: { doGeneralOverrides?: boolean } = {},
|
|
||||||
) => {
|
|
||||||
const { doGeneralOverrides = false } = opts;
|
|
||||||
|
|
||||||
const environment = "renderer";
|
const environment = "renderer";
|
||||||
const di = createContainer(environment);
|
const di = createContainer(environment);
|
||||||
|
|
||||||
@ -49,34 +45,32 @@ export const getDiForUnitTesting = (
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (doGeneralOverrides) {
|
for (const globalOverridePath of global.injectablePaths.renderer.globalOverridePaths) {
|
||||||
for (const globalOverridePath of global.injectablePaths.renderer.globalOverridePaths) {
|
const globalOverride = require(globalOverridePath).default as GlobalOverride;
|
||||||
const globalOverride = require(globalOverridePath).default as GlobalOverride;
|
|
||||||
|
|
||||||
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
di.override(globalOverride.injectable, globalOverride.overridingInstantiate);
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
startTopbarStateSyncInjectable,
|
|
||||||
].forEach((injectable) => {
|
|
||||||
di.override(injectable, () => ({
|
|
||||||
id: injectable.id,
|
|
||||||
run: () => {},
|
|
||||||
}));
|
|
||||||
});
|
|
||||||
|
|
||||||
di.override(terminalSpawningPoolInjectable, () => document.createElement("div"));
|
|
||||||
di.override(hostedClusterIdInjectable, () => undefined);
|
|
||||||
|
|
||||||
di.override(legacyOnChannelListenInjectable, () => () => noop);
|
|
||||||
|
|
||||||
di.override(requestAnimationFrameInjectable, () => (callback) => callback());
|
|
||||||
di.override(watchHistoryStateInjectable, () => () => () => {});
|
|
||||||
|
|
||||||
di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never));
|
|
||||||
|
|
||||||
getOverrideFsWithFakes()(di);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
startTopbarStateSyncInjectable,
|
||||||
|
].forEach((injectable) => {
|
||||||
|
di.override(injectable, () => ({
|
||||||
|
id: injectable.id,
|
||||||
|
run: () => {},
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
di.override(terminalSpawningPoolInjectable, () => document.createElement("div"));
|
||||||
|
di.override(hostedClusterIdInjectable, () => undefined);
|
||||||
|
|
||||||
|
di.override(legacyOnChannelListenInjectable, () => () => noop);
|
||||||
|
|
||||||
|
di.override(requestAnimationFrameInjectable, () => (callback) => callback());
|
||||||
|
di.override(watchHistoryStateInjectable, () => () => () => {});
|
||||||
|
|
||||||
|
di.override(requestFromChannelInjectable, () => () => Promise.resolve(undefined as never));
|
||||||
|
|
||||||
|
getOverrideFsWithFakes()(di);
|
||||||
|
|
||||||
return di;
|
return di;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -18,7 +18,7 @@ describe("search store tests", () => {
|
|||||||
let searchStore: SearchStore;
|
let searchStore: SearchStore;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@ describe("renderer/utils/StorageHelper", () => {
|
|||||||
let createStorageHelper: CreateStorageHelper;
|
let createStorageHelper: CreateStorageHelper;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
createStorageHelper = di.inject(createStorageHelperInjectable);
|
createStorageHelper = di.inject(createStorageHelperInjectable);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe("enlist message channel listener in renderer", () => {
|
|||||||
let offMock: jest.Mock;
|
let offMock: jest.Mock;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const di = getDiForUnitTesting({ doGeneralOverrides: true });
|
const di = getDiForUnitTesting();
|
||||||
|
|
||||||
onMock = jest.fn();
|
onMock = jest.fn();
|
||||||
offMock = jest.fn();
|
offMock = jest.fn();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user