From 63bd783803b4e0b8895eb10c0ad9ea84aa18f502 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Fri, 8 Jul 2022 19:54:23 +0300 Subject: [PATCH] =?UTF-8?q?Add=20global=20override=20for=20component=20obs?= =?UTF-8?q?erving=20current=20time=20for=20causing=20=E2=80=A6=20(#5814)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-when-too-long-time-since-update-was-downloaded.test.ts | 4 ++++ .../installing-update-using-topbar-button.test.tsx | 1 - .../force-update-modal-root-frame-component.injectable.ts | 3 +++ src/renderer/getDiForUnitTesting.tsx | 7 +++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/behaviours/application-update/force-user-to-update-when-too-long-time-since-update-was-downloaded.test.ts b/src/behaviours/application-update/force-user-to-update-when-too-long-time-since-update-was-downloaded.test.ts index 0a28239097..df46617467 100644 --- a/src/behaviours/application-update/force-user-to-update-when-too-long-time-since-update-was-downloaded.test.ts +++ b/src/behaviours/application-update/force-user-to-update-when-too-long-time-since-update-was-downloaded.test.ts @@ -18,6 +18,7 @@ import { advanceFakeTime, useFakeTime } from "../../common/test-utils/use-fake-t import quitAndInstallUpdateInjectable from "../../main/application-update/quit-and-install-update.injectable"; import timeAfterUpdateMustBeInstalledInjectable from "../../renderer/application-update/force-update-modal/time-after-update-must-be-installed.injectable"; import secondsAfterInstallStartsInjectable from "../../renderer/application-update/force-update-modal/seconds-after-install-starts.injectable"; +import forceUpdateModalRootFrameComponentInjectable from "../../renderer/application-update/force-update-modal/force-update-modal-root-frame-component.injectable"; const TIME_AFTER_UPDATE_MUST_BE_INSTALLED = 1000; const TIME_AFTER_INSTALL_STARTS = 5 * 1000; @@ -35,6 +36,9 @@ describe("force user to update when too long since update was downloaded", () => applicationBuilder = getApplicationBuilder(); applicationBuilder.beforeApplicationStart(({ mainDi, rendererDi }) => { + rendererDi.unoverride(forceUpdateModalRootFrameComponentInjectable); + rendererDi.permitSideEffects(forceUpdateModalRootFrameComponentInjectable); + checkForPlatformUpdatesMock = asyncFn(); mainDi.override(checkForPlatformUpdatesInjectable, () => checkForPlatformUpdatesMock); diff --git a/src/behaviours/application-update/installing-update-using-topbar-button.test.tsx b/src/behaviours/application-update/installing-update-using-topbar-button.test.tsx index bd57a6c9da..855f1332d1 100644 --- a/src/behaviours/application-update/installing-update-using-topbar-button.test.tsx +++ b/src/behaviours/application-update/installing-update-using-topbar-button.test.tsx @@ -18,7 +18,6 @@ import processCheckingForUpdatesInjectable from "../../main/application-update/c import quitAndInstallUpdateInjectable from "../../main/application-update/quit-and-install-update.injectable"; import { advanceFakeTime, useFakeTime } from "../../common/test-utils/use-fake-time"; - function daysToMilliseconds(days: number) { return Math.round(days * 24 * 60 * 60 * 1000); } diff --git a/src/renderer/application-update/force-update-modal/force-update-modal-root-frame-component.injectable.ts b/src/renderer/application-update/force-update-modal/force-update-modal-root-frame-component.injectable.ts index d8871b2b59..9681aa72e0 100644 --- a/src/renderer/application-update/force-update-modal/force-update-modal-root-frame-component.injectable.ts +++ b/src/renderer/application-update/force-update-modal/force-update-modal-root-frame-component.injectable.ts @@ -31,6 +31,9 @@ const forceUpdateModalRootFrameComponentInjectable = getInjectable({ }, injectionToken: rootFrameChildComponentInjectionToken, + + // Note: Globally overridden because it observes the current time which can cause long running tests + causesSideEffects: true, }); export default forceUpdateModalRootFrameComponentInjectable; diff --git a/src/renderer/getDiForUnitTesting.tsx b/src/renderer/getDiForUnitTesting.tsx index f70f8938cb..ec78ce94b2 100644 --- a/src/renderer/getDiForUnitTesting.tsx +++ b/src/renderer/getDiForUnitTesting.tsx @@ -69,6 +69,7 @@ import kubeObjectDetailsClusterFrameChildComponentInjectable from "./components/ import kubeconfigDialogClusterFrameChildComponentInjectable from "./components/kubeconfig-dialog/kubeconfig-dialog-cluster-frame-child-component.injectable"; import portForwardDialogClusterFrameChildComponentInjectable from "./port-forward/port-forward-dialog-cluster-frame-child-component.injectable"; import setupSystemCaInjectable from "./frames/root-frame/setup-system-ca.injectable"; +import forceUpdateModalRootFrameComponentInjectable from "./application-update/force-update-modal/force-update-modal-root-frame-component.injectable"; export const getDiForUnitTesting = (opts: { doGeneralOverrides?: boolean } = {}) => { const { @@ -119,6 +120,12 @@ export const getDiForUnitTesting = (opts: { doGeneralOverrides?: boolean } = {}) shouldRender: computed(() => false), })); + di.override(forceUpdateModalRootFrameComponentInjectable, () => ({ + id: "force-update-modal", + Component: () => null, + shouldRender: computed(() => false), + })); + // TODO: Remove side-effects and shared global state const clusterFrameChildComponentInjectables: Injectable[] = [ commandContainerClusterFrameChildComponentInjectable,