diff --git a/src/common/ipc/broadcast-message.injectable.ts b/src/common/ipc/broadcast-message.injectable.ts index 290e6a50bf..9df36ac27a 100644 --- a/src/common/ipc/broadcast-message.injectable.ts +++ b/src/common/ipc/broadcast-message.injectable.ts @@ -8,7 +8,7 @@ import { broadcastMessage } from "./ipc"; const broadcastMessageInjectable = getInjectable({ id: "broadcast-message", instantiate: () => broadcastMessage, - // causesSideEffects: true, + causesSideEffects: true, }); export default broadcastMessageInjectable; diff --git a/src/main/getDiForUnitTesting.ts b/src/main/getDiForUnitTesting.ts index 5db1416ee0..05dc73e055 100644 --- a/src/main/getDiForUnitTesting.ts +++ b/src/main/getDiForUnitTesting.ts @@ -72,21 +72,13 @@ import showMessagePopupInjectable from "./electron-app/features/show-message-pop import clusterFramesInjectable from "../common/cluster-frames.injectable"; import type { ClusterFrameInfo } from "../common/cluster-frames"; import { observable } from "mobx"; -// import createBrowserWindowInjectable from "./start-main-application/lens-window/application-window/create-browser-window.injectable"; import waitForElectronToBeReadyInjectable from "./electron-app/features/wait-for-electron-to-be-ready.injectable"; - - -import setupListenerForCurrentClusterFrameInjectable - from "./start-main-application/lens-window/current-cluster-frame/setup-listener-for-current-cluster-frame.injectable"; +import setupListenerForCurrentClusterFrameInjectable from "./start-main-application/lens-window/current-cluster-frame/setup-listener-for-current-cluster-frame.injectable"; import ipcMainInjectable from "./app-paths/register-channel/ipc-main/ipc-main.injectable"; -import createElectronWindowForInjectable - from "./start-main-application/lens-window/application-window/create-electron-window-for.injectable"; -import setupRunnablesAfterWindowIsOpenedInjectable - from "./electron-app/runnables/setup-runnables-after-window-is-opened.injectable"; -import sendToChannelInElectronBrowserWindowInjectable - from "./start-main-application/lens-window/application-window/send-to-channel-in-electron-browser-window.injectable"; - - +import createElectronWindowForInjectable from "./start-main-application/lens-window/application-window/create-electron-window-for.injectable"; +import setupRunnablesAfterWindowIsOpenedInjectable from "./electron-app/runnables/setup-runnables-after-window-is-opened.injectable"; +import sendToChannelInElectronBrowserWindowInjectable from "./start-main-application/lens-window/application-window/send-to-channel-in-electron-browser-window.injectable"; +import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable"; export const getDiForUnitTesting = ( { doGeneralOverrides } = { doGeneralOverrides: false }, @@ -144,6 +136,10 @@ export const getDiForUnitTesting = ( di.override(registerChannelInjectable, () => () => undefined); di.override(directoryForBundledBinariesInjectable, () => "some-bin-directory"); + di.override(broadcastMessageInjectable, () => { + throw new Error("Tried to broadcast message over IPC without explicit override."); + }); + di.override(spawnInjectable, () => () => { return { stderr: { on: jest.fn(), removeAllListeners: jest.fn() }, diff --git a/src/renderer/components/+catalog/catalog.test.tsx b/src/renderer/components/+catalog/catalog.test.tsx index 130dca8625..520f2bb0d4 100644 --- a/src/renderer/components/+catalog/catalog.test.tsx +++ b/src/renderer/components/+catalog/catalog.test.tsx @@ -27,6 +27,7 @@ import getConfigurationFileModelInjectable from "../../../common/get-configurati import appVersionInjectable from "../../../common/get-configuration-file-model/app-version/app-version.injectable"; import type { AppEvent } from "../../../common/app-event-bus/event-bus"; import appEventBusInjectable from "../../../common/app-event-bus/app-event-bus.injectable"; +import broadcastMessageInjectable from "../../../common/ipc/broadcast-message.injectable"; mockWindow(); jest.mock("electron", () => ({ @@ -93,6 +94,8 @@ describe("", () => { di.override(directoryForUserDataInjectable, () => "some-directory-for-user-data"); + di.override(broadcastMessageInjectable, () => async () => {}); + di.permitSideEffects(getConfigurationFileModelInjectable); di.permitSideEffects(appVersionInjectable); diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index d61c3f5d7e..899d0bf6cf 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -37,6 +37,7 @@ import themeStoreInjectable from "./theme-store.injectable"; import apiManagerInjectable from "./components/kube-object-menu/dependencies/api-manager.injectable"; import { ApiManager } from "../common/k8s-api/api-manager"; import lensResourcesDirInjectable from "../common/vars/lens-resources-dir.injectable"; +import broadcastMessageInjectable from "../common/ipc/broadcast-message.injectable"; export const getDiForUnitTesting = ( { doGeneralOverrides } = { doGeneralOverrides: false }, @@ -66,6 +67,10 @@ export const getDiForUnitTesting = ( di.override(lensResourcesDirInjectable, () => "/irrelevant"); + di.override(broadcastMessageInjectable, () => () => { + throw new Error("Tried to broadcast message over IPC without explicit override."); + }); + // eslint-disable-next-line unused-imports/no-unused-vars-ts di.override(extensionsStoreInjectable, () => ({ isEnabled: ({ id, isBundled }) => false }) as ExtensionsStore);