mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix unit tests after introducing new injectables that have side effects
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
735cc8e7af
commit
c52826b450
@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { getGlobalOverride } from "../test-utils/get-global-override";
|
||||||
|
import windowLocationInjectable from "./window-location.injectable";
|
||||||
|
|
||||||
|
export default getGlobalOverride(windowLocationInjectable, () => ({
|
||||||
|
host: "localhost",
|
||||||
|
port: "12345",
|
||||||
|
}));
|
||||||
@ -5,7 +5,7 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
|
||||||
const getMillisecondsFromUnixEpochInjectable = getInjectable({
|
const getMillisecondsFromUnixEpochInjectable = getInjectable({
|
||||||
id: "get-current-time",
|
id: "get-milliseconds-from-unix-epoch",
|
||||||
instantiate: () => () => Date.now(),
|
instantiate: () => () => Date.now(),
|
||||||
causesSideEffects: true,
|
causesSideEffects: true,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -57,6 +57,7 @@ import activeKubernetesClusterInjectable from "../../cluster-frame-context/activ
|
|||||||
import { catalogEntityFromCluster } from "../../../main/cluster/manager";
|
import { catalogEntityFromCluster } from "../../../main/cluster/manager";
|
||||||
import namespaceStoreInjectable from "../+namespaces/store.injectable";
|
import namespaceStoreInjectable from "../+namespaces/store.injectable";
|
||||||
import { isAllowedResource } from "../../../common/cluster/is-allowed-resource";
|
import { isAllowedResource } from "../../../common/cluster/is-allowed-resource";
|
||||||
|
import getMillisecondsFromUnixEpochInjectable from "../../../common/utils/date/get-milliseconds-from-unix-epoch.injectable";
|
||||||
import createApplicationWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-application-window.injectable";
|
import createApplicationWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-application-window.injectable";
|
||||||
import type { CreateElectronWindow } from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable";
|
import type { CreateElectronWindow } from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable";
|
||||||
import createElectronWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable";
|
import createElectronWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable";
|
||||||
@ -112,7 +113,12 @@ export interface ApplicationBuilder {
|
|||||||
applicationMenu: {
|
applicationMenu: {
|
||||||
click: (path: string) => void;
|
click: (path: string) => void;
|
||||||
};
|
};
|
||||||
|
time: {
|
||||||
|
advanceBy: {
|
||||||
|
seconds: (value: number) => void;
|
||||||
|
milliseconds: (value: number) => void;
|
||||||
|
};
|
||||||
|
};
|
||||||
preferences: {
|
preferences: {
|
||||||
close: () => void;
|
close: () => void;
|
||||||
navigate: () => void;
|
navigate: () => void;
|
||||||
@ -189,6 +195,7 @@ export const getApplicationBuilder = () => {
|
|||||||
runInAction(() => {
|
runInAction(() => {
|
||||||
windowDi.register(rendererExtensionsStateInjectable);
|
windowDi.register(rendererExtensionsStateInjectable);
|
||||||
});
|
});
|
||||||
|
windowDi.override(getMillisecondsFromUnixEpochInjectable, () => () => currentTimeMs);
|
||||||
|
|
||||||
windowDi.override(
|
windowDi.override(
|
||||||
currentlyInClusterFrameInjectable,
|
currentlyInClusterFrameInjectable,
|
||||||
@ -244,10 +251,22 @@ export const getApplicationBuilder = () => {
|
|||||||
mainDi.override(createElectronWindowInjectable, () => createElectronWindowFake);
|
mainDi.override(createElectronWindowInjectable, () => createElectronWindowFake);
|
||||||
|
|
||||||
let applicationHasStarted = false;
|
let applicationHasStarted = false;
|
||||||
|
let currentTimeMs = Date.parse("2000-01-01 12:00:00am");
|
||||||
|
|
||||||
|
mainDi.override(getMillisecondsFromUnixEpochInjectable, () => () => currentTimeMs);
|
||||||
|
|
||||||
const builder: ApplicationBuilder = {
|
const builder: ApplicationBuilder = {
|
||||||
mainDi,
|
mainDi,
|
||||||
|
time: {
|
||||||
|
advanceBy: {
|
||||||
|
milliseconds: (value) => {
|
||||||
|
currentTimeMs += value;
|
||||||
|
},
|
||||||
|
seconds: (value) => {
|
||||||
|
currentTimeMs += (value * 1000);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
applicationWindow: {
|
applicationWindow: {
|
||||||
closeAll: () => {
|
closeAll: () => {
|
||||||
const closeAll = mainDi.inject(closeAllWindowsInjectable);
|
const closeAll = mainDi.inject(closeAllWindowsInjectable);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import currentRouteComponentInjectable from "../../routes/current-route-componen
|
|||||||
import allowedResourcesInjectable from "../../cluster-frame-context/allowed-resources.injectable";
|
import allowedResourcesInjectable from "../../cluster-frame-context/allowed-resources.injectable";
|
||||||
import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable";
|
import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable";
|
||||||
import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable";
|
import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable";
|
||||||
|
import getMillisecondsFromUnixEpochInjectable from "../../../common/utils/date/get-milliseconds-from-unix-epoch.injectable";
|
||||||
|
|
||||||
describe("<ClusterFrame />", () => {
|
describe("<ClusterFrame />", () => {
|
||||||
let render: () => RenderResult;
|
let render: () => RenderResult;
|
||||||
@ -44,6 +45,7 @@ describe("<ClusterFrame />", () => {
|
|||||||
di.override(legacyOnChannelListenInjectable, () => jest.fn().mockImplementation(() => jest.fn()));
|
di.override(legacyOnChannelListenInjectable, () => jest.fn().mockImplementation(() => jest.fn()));
|
||||||
di.override(directoryForUserDataInjectable, () => "/some/irrelavent/path");
|
di.override(directoryForUserDataInjectable, () => "/some/irrelavent/path");
|
||||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||||
|
di.override(getMillisecondsFromUnixEpochInjectable, () => () => Date.parse("2000-01-01 12:00:00am"));
|
||||||
|
|
||||||
const createCluster = di.inject(createClusterInjectable);
|
const createCluster = di.inject(createClusterInjectable);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user