mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
add test for cancelNotification
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user