From c0a51e6588d8f7fcf4e32684c6694197944558b3 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 31dc71f65a..7c9550b643 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -30,7 +30,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"; @@ -79,6 +79,7 @@ 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 baseBundeledBinariesDirectoryInjectable from "../common/vars/base-bundled-binaries-dir.injectable"; +import packageJsonInjectable from "../common/vars/package-json.injectable"; export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) { const { @@ -115,6 +116,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);