From 3ae4c6764716b09e0520da0d6392a9d1a413aa81 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Mon, 9 May 2022 12:48:34 +0300 Subject: [PATCH] Introduce injectable for package.json being side-effect Signed-off-by: Janne Savolainen --- src/common/vars/package-json.injectable.ts | 14 ++++++++++++++ src/main/getDiForUnitTesting.ts | 4 +++- src/renderer/getDiForUnitTesting.tsx | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/common/vars/package-json.injectable.ts diff --git a/src/common/vars/package-json.injectable.ts b/src/common/vars/package-json.injectable.ts new file mode 100644 index 0000000000..fa132be518 --- /dev/null +++ b/src/common/vars/package-json.injectable.ts @@ -0,0 +1,14 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import packageJson from "../../../package.json"; + +const packageJsonInjectable = getInjectable({ + id: "package-json", + instantiate: () => packageJson, + causesSideEffects: true, +}); + +export default packageJsonInjectable; diff --git a/src/main/getDiForUnitTesting.ts b/src/main/getDiForUnitTesting.ts index 1b8db2ad4b..2028b2f4f5 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -31,7 +31,7 @@ import joinPathsInjectable from "../common/path/join-paths.injectable"; import { joinPathsFake } from "../common/test-utils/join-paths-fake"; import hotbarStoreInjectable from "../common/hotbars/store.injectable"; import type { GetDiForUnitTestingOptions } from "../test-utils/get-dis-for-unit-testing"; -import isAutoUpdateEnabledInjectable from "./is-auto-update-enabled.injectable"; +import isAutoUpdateEnabledInjectable from "./update-app/is-auto-update-enabled.injectable"; import appEventBusInjectable from "../common/app-event-bus/app-event-bus.injectable"; import { EventEmitter } from "../common/event-emitter"; import type { AppEvent } from "../common/app-event-bus/event-bus"; @@ -80,6 +80,7 @@ import platformInjectable from "../common/vars/platform.injectable"; import productNameInjectable from "./app-paths/app-name/product-name.injectable"; import syncUpdateIsReadyToBeInstalledInjectable from "./electron-app/runnables/update-application/sync-update-is-ready-to-be-installed.injectable"; import quitAndInstallUpdateInjectable from "./electron-app/features/quit-and-install-update.injectable"; +import packageJsonInjectable from "../common/vars/package-json.injectable"; export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) { const { @@ -116,6 +117,7 @@ export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) { di.override(isDevelopmentInjectable, () => false); di.override(environmentVariablesInjectable, () => ({})); di.override(commandLineArgumentsInjectable, () => []); + di.override(packageJsonInjectable, () => ({})); di.override(productNameInjectable, () => "some-product-name"); diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index 77cb55c638..356beb796b 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -44,6 +44,7 @@ import setupOnApiErrorListenersInjectable from "./api/setup-on-api-errors.inject import { observable } from "mobx"; import defaultShellInjectable from "./components/+preferences/default-shell.injectable"; import themeStoreInjectable from "./themes/store.injectable"; +import packageJsonInjectable from "../common/vars/package-json.injectable"; export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => { const { @@ -69,6 +70,7 @@ export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => { di.override(isMacInjectable, () => true); di.override(isWindowsInjectable, () => false); di.override(isLinuxInjectable, () => false); + di.override(packageJsonInjectable, () => ({})); di.override(terminalSpawningPoolInjectable, () => document.createElement("div")); di.override(hostedClusterIdInjectable, () => undefined);