1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-10-05 05:17:40 +02:00

[PM-6426] Implementing Jest tests for DefaultTaskSchedulerService

This commit is contained in:
Cesar Gonzalez 2024-05-02 10:13:14 -05:00
parent 1041146724
commit ce0108714f
No known key found for this signature in database
GPG Key ID: 3381A5457F8CCECF
2 changed files with 17 additions and 3 deletions

View File

@ -219,7 +219,7 @@ export class BrowserTaskSchedulerServiceImplementation
): Promise<void> {
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;
}

View File

@ -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,