diff --git a/src/common/utils/get-random-id.injectable.ts b/src/common/utils/get-random-id.injectable.ts new file mode 100644 index 0000000000..3b96c50633 --- /dev/null +++ b/src/common/utils/get-random-id.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 { v4 as getRandomId } from "uuid"; + +const getRandomIdInjectable = getInjectable({ + id: "get-random-id", + instantiate: () => getRandomId, + causesSideEffects: true, +}); + +export default getRandomIdInjectable; diff --git a/src/main/getDiForUnitTesting.ts b/src/main/getDiForUnitTesting.ts index e19e115f51..d895650bca 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -86,6 +86,7 @@ import startCatalogSyncInjectable from "./catalog-sync-to-renderer/start-catalog import startKubeConfigSyncInjectable from "./start-main-application/runnables/kube-config-sync/start-kube-config-sync.injectable"; import startCheckingForUpdatesInjectable from "./application-update/periodical-check-for-updates/start-checking-for-updates.injectable"; import appVersionInjectable from "../common/get-configuration-file-model/app-version/app-version.injectable"; +import getRandomIdInjectable from "../common/utils/get-random-id.injectable"; export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) { const { @@ -109,6 +110,7 @@ export function getDiForUnitTesting(opts: GetDiForUnitTestingOptions = {}) { di.preventSideEffects(); if (doGeneralOverrides) { + di.override(getRandomIdInjectable, () => () => "some-irrelevant-random-id"); di.override(hotbarStoreInjectable, () => ({ load: () => {} })); di.override(userStoreInjectable, () => ({ startMainReactions: () => {}, extensionRegistryUrl: { customUrl: "some-custom-url" }}) as UserStore); di.override(extensionsStoreInjectable, () => ({ isEnabled: (opts) => (void opts, false) }) as ExtensionsStore); diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index 43e7925feb..094afafe6a 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -45,6 +45,7 @@ import defaultShellInjectable from "./components/+preferences/default-shell.inje import appVersionInjectable from "../common/get-configuration-file-model/app-version/app-version.injectable"; import provideInitialValuesForSyncBoxesInjectable from "./sync-box/provide-initial-values-for-sync-boxes.injectable"; import requestAnimationFrameInjectable from "./components/animate/request-animation-frame.injectable"; +import getRandomIdInjectable from "../common/utils/get-random-id.injectable"; export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => { const { @@ -67,6 +68,7 @@ export const getDiForUnitTesting = (opts: GetDiForUnitTestingOptions = {}) => { di.preventSideEffects(); if (doGeneralOverrides) { + di.override(getRandomIdInjectable, () => () => "some-irrelevant-random-id"); di.override(isMacInjectable, () => true); di.override(isWindowsInjectable, () => false); di.override(isLinuxInjectable, () => false);