add test for cancelNotification

This commit is contained in:
2025-02-03 23:45:30 -08:00
parent 3e4f6e5440
commit d1db9b3742

View File

@@ -3,7 +3,7 @@ import { NotificationService } from "../../src/services/NotificationService";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import fs from "fs"; import fs from "fs";
import { IEta, IShuttle, IStop } from "../../src/entities/entities"; import { IEta, IShuttle, IStop } from "../../src/entities/entities";
import { updateGlobalFetchMockJson } from "../testHelpers/fetchMockHelpers"; import { resetGlobalFetchMockJson, updateGlobalFetchMockJson } from "../testHelpers/fetchMockHelpers";
import { addMockShuttleToRepository, addMockStopToRepository } from "../testHelpers/repositorySetupHelpers"; import { addMockShuttleToRepository, addMockStopToRepository } from "../testHelpers/repositorySetupHelpers";
jest.mock("fs"); jest.mock("fs");
@@ -58,6 +58,8 @@ describe("NotificationService", () => {
}; };
(fs.readFileSync as jest.Mock).mockReturnValue(sampleKey); (fs.readFileSync as jest.Mock).mockReturnValue(sampleKey);
resetGlobalFetchMockJson();
}) })
describe("reloadAPNsTokenIfTimePassed", () => { describe("reloadAPNsTokenIfTimePassed", () => {
@@ -203,7 +205,22 @@ describe("NotificationService", () => {
describe("cancelNotification", () => { describe("cancelNotification", () => {
it("stops notification from sending to given shuttle/stop ID", async () => { it("stops notification from sending to given shuttle/stop ID", async () => {
// Arrange
const shuttle = await addMockShuttleToRepository(repository, "1");
const stop = await addMockStopToRepository(repository, "1");
const { eta, notificationData1 } = generateNotificationDataAndEta(shuttle, stop);
updateGlobalFetchMockJson({});
await notificationService.scheduleNotification(notificationData1);
// Act
await notificationService.cancelNotification(notificationData1);
await repository.addOrUpdateEta(eta);
// Assert
await waitForMilliseconds(500);
expect(fetch as jest.Mock).toHaveBeenCalledTimes(0);
}); });
}); });