From 95f2e6ec298de861caec1944dbb60e56d8b3ae76 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Tue, 22 Apr 2025 11:15:35 -0700 Subject: [PATCH] add system id to the notification payload for good measure --- src/entities/InterchangeSystem.ts | 2 ++ src/notifications/schedulers/ETANotificationScheduler.ts | 4 +++- .../schedulers/ETANotificationSchedulerTests.test.ts | 6 ++++-- .../senders/AppleNotificationSenderTests.test.ts | 3 +-- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/entities/InterchangeSystem.ts b/src/entities/InterchangeSystem.ts index 2cb9072..37aed58 100644 --- a/src/entities/InterchangeSystem.ts +++ b/src/entities/InterchangeSystem.ts @@ -71,6 +71,7 @@ export class InterchangeSystem { shuttleRepository, notificationRepository, new AppleNotificationSender(), + args.id, ); notificationScheduler.startListeningForUpdates(); @@ -115,6 +116,7 @@ export class InterchangeSystem { shuttleRepository, notificationRepository, new AppleNotificationSender(false), + args.id, ); notificationScheduler.startListeningForUpdates(); diff --git a/src/notifications/schedulers/ETANotificationScheduler.ts b/src/notifications/schedulers/ETANotificationScheduler.ts index 3eb57cb..7d61c11 100644 --- a/src/notifications/schedulers/ETANotificationScheduler.ts +++ b/src/notifications/schedulers/ETANotificationScheduler.ts @@ -13,7 +13,8 @@ export class ETANotificationScheduler { constructor( private shuttleRepository: ShuttleGetterRepository, private notificationRepository: NotificationRepository = new InMemoryNotificationRepository(), - private appleNotificationSender = new AppleNotificationSender() + private appleNotificationSender = new AppleNotificationSender(), + private interchangeSystemId: string, ) { this.etaSubscriberCallback = this.etaSubscriberCallback.bind(this); this.sendEtaNotificationImmediately = this.sendEtaNotificationImmediately.bind(this); @@ -47,6 +48,7 @@ export class ETANotificationScheduler { body: `Shuttle is approaching ${stop.name} in ${Math.ceil(eta.secondsRemaining / 60)} minutes.`, customKeys: { shuttleId, + systemId: this.interchangeSystemId, }, } return this.appleNotificationSender.sendNotificationImmediately(deviceId, notificationAlertArguments); diff --git a/test/notifications/schedulers/ETANotificationSchedulerTests.test.ts b/test/notifications/schedulers/ETANotificationSchedulerTests.test.ts index b9f1790..db6a94b 100644 --- a/test/notifications/schedulers/ETANotificationSchedulerTests.test.ts +++ b/test/notifications/schedulers/ETANotificationSchedulerTests.test.ts @@ -40,7 +40,8 @@ describe("ETANotificationScheduler", () => { notificationService = new ETANotificationScheduler( shuttleRepository, notificationRepository, - appleNotificationSender + appleNotificationSender, + "1", ); notificationService.startListeningForUpdates(); }); @@ -127,7 +128,8 @@ describe("ETANotificationScheduler", () => { notificationService = new ETANotificationScheduler( shuttleRepository, notificationRepository, - updatedNotificationSender + updatedNotificationSender, + "1", ); notificationService.startListeningForUpdates(); diff --git a/test/notifications/senders/AppleNotificationSenderTests.test.ts b/test/notifications/senders/AppleNotificationSenderTests.test.ts index 9cbc0cb..948be7d 100644 --- a/test/notifications/senders/AppleNotificationSenderTests.test.ts +++ b/test/notifications/senders/AppleNotificationSenderTests.test.ts @@ -5,7 +5,6 @@ import { AppleNotificationSender, NotificationAlertArguments } from "../../../src/notifications/senders/AppleNotificationSender"; -import { ETANotificationScheduler } from "../../../src/notifications/schedulers/ETANotificationScheduler"; jest.mock("http2"); @@ -13,7 +12,7 @@ const sampleKeyBase64 = "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR1RBZ0VBTUJNR0J function mockHttp2Connect(status: number) { class MockClient extends EventEmitter { - request = jest.fn((headers: any) => { + request = jest.fn((_) => { const mockRequest: any = new EventEmitter(); mockRequest.setEncoding = jest.fn(); mockRequest.write = jest.fn();