diff --git a/src/common/vars/is-linux.injectable.ts b/src/common/vars/is-linux.injectable.ts index b7a24e9a2b..dbd3436129 100644 --- a/src/common/vars/is-linux.injectable.ts +++ b/src/common/vars/is-linux.injectable.ts @@ -8,6 +8,7 @@ import { isLinux } from "../vars"; const isLinuxInjectable = getInjectable({ id: "is-linux", instantiate: () => isLinux, + causesSideEffects: true, }); export default isLinuxInjectable; diff --git a/src/common/vars/is-mac.injectable.ts b/src/common/vars/is-mac.injectable.ts new file mode 100644 index 0000000000..6a956b2426 --- /dev/null +++ b/src/common/vars/is-mac.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 { isMac } from "../vars"; + +const isMacInjectable = getInjectable({ + id: "is-mac", + instantiate: () => isMac, + causesSideEffects: true, +}); + +export default isMacInjectable; diff --git a/src/common/vars/is-windows.injectable.ts b/src/common/vars/is-windows.injectable.ts index bdce3e827f..4b92b78a3b 100644 --- a/src/common/vars/is-windows.injectable.ts +++ b/src/common/vars/is-windows.injectable.ts @@ -8,6 +8,7 @@ import { isWindows } from "../vars"; const isWindowsInjectable = getInjectable({ id: "is-windows", instantiate: () => isWindows, + causesSideEffects: true, }); export default isWindowsInjectable; diff --git a/src/main/getDiForUnitTesting.ts b/src/main/getDiForUnitTesting.ts index 157806750e..94ce4a9519 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -27,6 +27,9 @@ import type { ClusterStore } from "../common/cluster-store/cluster-store"; import type { Cluster } from "../common/cluster/cluster"; import userStoreInjectable from "../common/user-store/user-store.injectable"; import type { UserStore } from "../common/user-store"; +import isMacInjectable from "../common/vars/is-mac.injectable"; +import isWindowsInjectable from "../common/vars/is-windows.injectable"; +import isLinuxInjectable from "../common/vars/is-linux.injectable"; export const getDiForUnitTesting = ( { doGeneralOverrides } = { doGeneralOverrides: false }, @@ -48,6 +51,10 @@ export const getDiForUnitTesting = ( di.preventSideEffects(); if (doGeneralOverrides) { + di.override(isMacInjectable, () => true); + di.override(isWindowsInjectable, () => false); + di.override(isLinuxInjectable, () => false); + // eslint-disable-next-line unused-imports/no-unused-vars-ts di.override(extensionsStoreInjectable, () => ({ isEnabled: ({ id, isBundled }) => false }) as ExtensionsStore); diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index 06bf0cb828..7cf93a661d 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -25,6 +25,9 @@ import type { ClusterStore } from "../common/cluster-store/cluster-store"; import type { Cluster } from "../common/cluster/cluster"; import userStoreInjectable from "../common/user-store/user-store.injectable"; import type { UserStore } from "../common/user-store"; +import isMacInjectable from "../common/vars/is-mac.injectable"; +import isWindowsInjectable from "../common/vars/is-windows.injectable"; +import isLinuxInjectable from "../common/vars/is-linux.injectable"; export const getDiForUnitTesting = ( { doGeneralOverrides } = { doGeneralOverrides: false }, @@ -45,6 +48,10 @@ export const getDiForUnitTesting = ( di.preventSideEffects(); if (doGeneralOverrides) { + di.override(isMacInjectable, () => true); + di.override(isWindowsInjectable, () => false); + di.override(isLinuxInjectable, () => false); + // eslint-disable-next-line unused-imports/no-unused-vars-ts di.override(extensionsStoreInjectable, () => ({ isEnabled: ({ id, isBundled }) => false }) as ExtensionsStore);