diff --git a/test/services/NotificationServiceTests.test.ts b/test/services/NotificationServiceTests.test.ts index f2a5dbc..7c37abf 100644 --- a/test/services/NotificationServiceTests.test.ts +++ b/test/services/NotificationServiceTests.test.ts @@ -3,7 +3,7 @@ import { NotificationService } from "../../src/services/NotificationService"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import fs from "fs"; 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"; jest.mock("fs"); @@ -58,6 +58,8 @@ describe("NotificationService", () => { }; (fs.readFileSync as jest.Mock).mockReturnValue(sampleKey); + + resetGlobalFetchMockJson(); }) describe("reloadAPNsTokenIfTimePassed", () => { @@ -203,7 +205,22 @@ describe("NotificationService", () => { describe("cancelNotification", () => { 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); }); });