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:
Janne SavolainenandMikko Aspiala authored and GitHub committed 2023-03-07 12:23:57 -05:00
1 parent 8fa92c06ea
commit 0d480917cf
95 files changed
+165 -161

No files matched your search

@@ -80,7 +80,7 @@ describe("CatalogEntityRegistry", () => {
let catalogCategoryRegistry: CatalogCategoryRegistry;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
entityRegistry = di.inject(catalogEntityRegistryInjectable);
catalogCategoryRegistry = di.inject(catalogCategoryRegistryInjectable);
@@ -18,7 +18,7 @@ describe("WebsocketApi tests", () => {
let api: TestWebSocketApi;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
api = new TestWebSocketApi({
defaultParams: di.inject(defaultWebsocketApiParamsInjectable),
@@ -31,7 +31,7 @@ describe("CatalogAddButton", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -70,7 +70,7 @@ describe("CatalogEntityStore", () => {
let di: DiContainer;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
});
describe("getTotalCount", () => {
@@ -44,7 +44,7 @@ describe("Custom Category Columns", () => {
let getCategoryColumns: (params: GetCategoryColumnsParams) => CategoryColumns;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(hotbarStoreInjectable, () => ({}));
di.override(currentlyInClusterFrameInjectable, () => false);
@@ -16,7 +16,7 @@ describe("Custom Category Views", () => {
let di: DiContainer;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
});
it("should order items correctly over all extensions", () => {
@@ -39,7 +39,7 @@ describe("<HpaDetails/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -20,7 +20,7 @@ jest.mock("../../kube-object-meta/kube-object-meta", () => ({
describe("SecretDetails tests", () => {
it("should show the visibility toggle when the secret value is ''", () => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
const render = renderFor(di);
di.override(directoryForUserDataInjectable, () => "/some-user-data");
@@ -15,7 +15,7 @@ describe("<CustomResourceDetails />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -39,7 +39,7 @@ describe("Extensions", () => {
let downloadBinary: jest.MockedFunction<DownloadBinary>;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
di.override(directoryForDownloadsInjectable, () => "some-directory-for-downloads");
@@ -48,7 +48,7 @@ describe("<NamespaceSelectFilter />", () => {
let cleanup: Disposer;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.unoverride(subscribeStoresInjectable);
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
@@ -105,7 +105,7 @@ describe("NamespaceStore", () => {
let namespaceStore: NamespaceStore;
beforeEach(async () => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -106,7 +106,7 @@ describe("<NamespaceTreeView />", () => {
let render: DiRender;
beforeEach(async () => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(hierarchicalNamespacesInjectable, () => [
acmeGroup,
@@ -15,7 +15,7 @@ describe("NetworkPolicyDetails", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -27,7 +27,7 @@ describe("ClusterRoleBindingDialog tests", () => {
let openClusterRoleBindingDialog: OpenClusterRoleBindingDialog;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -24,7 +24,7 @@ describe("RoleBindingDialog tests", () => {
let openRoleBindingDialog: OpenRoleBindingDialog;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -23,7 +23,7 @@ describe("<Welcome/>", () => {
let welcomeBannersStub: WelcomeBannerRegistration[];
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(currentlyInClusterFrameInjectable, () => false);
@@ -88,7 +88,7 @@ describe("<DeploymentScaleDialog />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(storesAndApisCanBeCreatedInjectable, () => true);
@@ -21,7 +21,7 @@ describe("<ContainerEnv />", () => {
let configMapStore: jest.Mocked<Pick<ConfigMapStore, "load" | "getByName">>;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
secretStore = ({
load: jest.fn().mockImplementation(async () => {
@@ -32,7 +32,7 @@ describe("<PodTolerations />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForLensLocalStorageInjectable, () => "some-directory-for-lens-local-storage" );
@@ -16,7 +16,7 @@ describe("<CephFs />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
@@ -81,7 +81,7 @@ describe("<ReplicaSetScaleDialog />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(storesAndApisCanBeCreatedInjectable, () => true);
@@ -92,7 +92,7 @@ describe("<StatefulSetScaleDialog />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(storesAndApisCanBeCreatedInjectable, () => true);
@@ -121,7 +121,7 @@ describe("CronJob Store tests", () => {
let cronJobStore: CronJobStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -138,7 +138,7 @@ describe("DaemonSet Store tests", () => {
let daemonSetStore: DaemonSetStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -210,7 +210,7 @@ describe("Deployment Store tests", () => {
let deploymentStore: DeploymentStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -175,7 +175,7 @@ describe("Job Store tests", () => {
let jobStore: JobStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -121,7 +121,7 @@ describe("Pod Store tests", () => {
let podStore: PodStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -138,7 +138,7 @@ describe("ReplicaSet Store tests", () => {
let replicaSetStore: ReplicaSetStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -138,7 +138,7 @@ describe("StatefulSet Store tests", () => {
let statefulSetStore: StatefulSetStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -14,7 +14,7 @@ describe("<Avatar/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -21,7 +21,7 @@ describe("ClusterLocalTerminalSettings", () => {
let statMock: jest.Mock;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
showErrorNotificationMock = jest.fn();
@@ -22,7 +22,7 @@ describe("DockStore", () => {
let dockStore: DockStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(hostedClusterIdInjectable, () => "some-cluster-id");
di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data");
@@ -107,7 +107,7 @@ describe("<LogResourceSelector />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
const { ensureDirSync } = di.inject(fsInjectable);
@@ -63,7 +63,7 @@ describe("LogSearch tests", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -15,7 +15,7 @@ describe("<ToBottom/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -14,7 +14,7 @@ describe("<DrawerParamToggler />", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
result = render((
@@ -30,7 +30,7 @@ describe("<HotbarRemoveCommand />", () => {
let render: DiRender;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(storesAndApisCanBeCreatedInjectable, () => true);
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
@@ -28,7 +28,7 @@ describe("kube-object-list-layout", () => {
let podStore: PodStore;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-user-store-path");
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
@@ -32,7 +32,7 @@ describe("kube-object-menu", () => {
let render: DiRender;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
runInAction(() => {
di.register(
@@ -34,7 +34,7 @@ describe("<SidebarCluster/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(hotbarStoreInjectable, () => ({
isAddedToActive: () => {},
@@ -34,7 +34,7 @@ describe("<TopBar/>", () => {
let toggleMaximizeWindow: jest.MockedFunction<() => void>;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
di.override(rendererExtensionsInjectable, () => computed(() => []));
di.override(openAppContextMenuInjectable, () => openAppContextMenu = jest.fn());
@@ -10,7 +10,9 @@ describe("get-editor-height-from-lines-number", () => {
let getEditorHeightFromLinesNumber: (linesCount: number) => number;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: false });
const di = getDiForUnitTesting();
di.unoverride(getEditorHeightFromLinesCountInjectable);
getEditorHeightFromLinesNumber = di.inject(getEditorHeightFromLinesCountInjectable);
});
@@ -17,7 +17,7 @@ describe("<RenderDelay/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
@@ -25,7 +25,7 @@ describe("<ScrollSpy/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -107,7 +107,7 @@ describe("<TreeView/> dataTree inside <ScrollSpy/>", () => {
let render: DiRender;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
render = renderFor(di);
});
@@ -20,7 +20,7 @@ describe("<Select />", () => {
let render: DiRender;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
render = renderFor(di);
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
@@ -168,9 +168,7 @@ interface Environment {
}
export const getApplicationBuilder = () => {
const mainDi = getMainDi({
doGeneralOverrides: true,
});
const mainDi = getMainDi();
runInAction(() => {
registerFeature(
@@ -236,7 +234,7 @@ export const getApplicationBuilder = () => {
const createElectronWindowFake: CreateElectronWindow = (configuration) => {
const windowId = configuration.id;
const windowDi = getRendererDi({ doGeneralOverrides: true });
const windowDi = getRendererDi();
overrideForWindow(windowDi, windowId);
overrideFsWithFakes(windowDi);
@@ -32,7 +32,7 @@ describe("<ClusterFrame />", () => {
let cluster: Cluster;
beforeEach(() => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di = getDiForUnitTesting();
render = () => testingLibraryRender((
<DiContextProvider value={{ di }}>
<Router history={di.inject(historyInjectable)}>
@@ -24,11 +24,7 @@ import {
} from "@ogre-tools/injectable-extension-for-mobx";
import { registerInjectableReact } from "@ogre-tools/injectable-react";
export const getDiForUnitTesting = (
opts: { doGeneralOverrides?: boolean } = {},
) => {
const { doGeneralOverrides = false } = opts;
export const getDiForUnitTesting = () => {
const environment = "renderer";
const di = createContainer(environment);
@@ -49,34 +45,32 @@ export const getDiForUnitTesting = (
}
});
if (doGeneralOverrides) {
for (const globalOverridePath of global.injectablePaths.renderer.globalOverridePaths) {
const globalOverride = require(globalOverridePath).default as GlobalOverride;
for (const globalOverridePath of global.injectablePaths.renderer.globalOverridePaths) {
const globalOverride = require(globalOverridePath).default as GlobalOverride;
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);
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);
return di;
};
@@ -18,7 +18,7 @@ describe("search store tests", () => {
let searchStore: SearchStore;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
di.override(directoryForUserDataInjectable, () => "/some-directory-for-user-data");
@@ -20,7 +20,7 @@ describe("renderer/utils/StorageHelper", () => {
let createStorageHelper: CreateStorageHelper;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
createStorageHelper = di.inject(createStorageHelperInjectable);
});
@@ -15,7 +15,7 @@ describe("enlist message channel listener in renderer", () => {
let offMock: jest.Mock;
beforeEach(() => {
const di = getDiForUnitTesting({ doGeneralOverrides: true });
const di = getDiForUnitTesting();
onMock = jest.fn();
offMock = jest.fn();