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 { 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);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user