From ce0108714f9bbbf8d8c73b8898ff767980042158 Mon Sep 17 00:00:00 2001 From: Cesar Gonzalez Date: Thu, 2 May 2024 10:13:14 -0500 Subject: [PATCH] [PM-6426] Implementing Jest tests for DefaultTaskSchedulerService --- .../services/browser-task-scheduler.service.ts | 2 +- .../default-task-scheduler.service.spec.ts | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/apps/browser/src/platform/services/browser-task-scheduler.service.ts b/apps/browser/src/platform/services/browser-task-scheduler.service.ts index 324adde686..6f7945b95e 100644 --- a/apps/browser/src/platform/services/browser-task-scheduler.service.ts +++ b/apps/browser/src/platform/services/browser-task-scheduler.service.ts @@ -219,7 +219,7 @@ export class BrowserTaskSchedulerServiceImplementation ): Promise { const existingAlarm = await this.getAlarm(alarmName); if (existingAlarm) { - this.logService.warning(`Alarm ${alarmName} already exists. Skipping creation.`); + this.logService.debug(`Alarm ${alarmName} already exists. Skipping creation.`); return; } diff --git a/libs/common/src/platform/services/default-task-scheduler.service.spec.ts b/libs/common/src/platform/services/default-task-scheduler.service.spec.ts index acdd590875..cf3844bdc3 100644 --- a/libs/common/src/platform/services/default-task-scheduler.service.spec.ts +++ b/libs/common/src/platform/services/default-task-scheduler.service.spec.ts @@ -8,7 +8,7 @@ import { StateProvider } from "../state"; import { DefaultTaskSchedulerService } from "./default-task-scheduler.service"; -describe("TaskSchedulerService", () => { +describe("DefaultTaskSchedulerService", () => { const callback = jest.fn(); const delayInMs = 1000; const intervalInMs = 1100; @@ -25,7 +25,7 @@ describe("TaskSchedulerService", () => { activeUserId$: activeUserIdMock$, }); taskSchedulerService = new DefaultTaskSchedulerService(logService, stateProvider); - void taskSchedulerService.registerTaskHandler( + taskSchedulerService.registerTaskHandler( ScheduledTaskNames.loginStrategySessionTimeout, callback, ); @@ -36,6 +36,20 @@ describe("TaskSchedulerService", () => { jest.clearAllMocks(); }); + it("overrides the handler for a previously registered task and provides a warning about the task registration", () => { + taskSchedulerService.registerTaskHandler( + ScheduledTaskNames.loginStrategySessionTimeout, + callback, + ); + + expect(logService.warning).toHaveBeenCalledWith( + `Task handler for ${ScheduledTaskNames.loginStrategySessionTimeout} already exists. Overwriting.`, + ); + expect( + taskSchedulerService["taskHandlers"].get(ScheduledTaskNames.loginStrategySessionTimeout), + ).toBeDefined(); + }); + it("sets a timeout and returns the timeout id", async () => { const timeoutId = await taskSchedulerService.setTimeout( ScheduledTaskNames.loginStrategySessionTimeout,