add system id to the notification payload for good measure

This commit is contained in:
2025-04-22 11:15:35 -07:00
parent 1cb498b150
commit 95f2e6ec29
4 changed files with 10 additions and 5 deletions

View File

@@ -71,6 +71,7 @@ export class InterchangeSystem {
shuttleRepository, shuttleRepository,
notificationRepository, notificationRepository,
new AppleNotificationSender(), new AppleNotificationSender(),
args.id,
); );
notificationScheduler.startListeningForUpdates(); notificationScheduler.startListeningForUpdates();
@@ -115,6 +116,7 @@ export class InterchangeSystem {
shuttleRepository, shuttleRepository,
notificationRepository, notificationRepository,
new AppleNotificationSender(false), new AppleNotificationSender(false),
args.id,
); );
notificationScheduler.startListeningForUpdates(); notificationScheduler.startListeningForUpdates();

View File

@@ -13,7 +13,8 @@ export class ETANotificationScheduler {
constructor( constructor(
private shuttleRepository: ShuttleGetterRepository, private shuttleRepository: ShuttleGetterRepository,
private notificationRepository: NotificationRepository = new InMemoryNotificationRepository(), private notificationRepository: NotificationRepository = new InMemoryNotificationRepository(),
private appleNotificationSender = new AppleNotificationSender() private appleNotificationSender = new AppleNotificationSender(),
private interchangeSystemId: string,
) { ) {
this.etaSubscriberCallback = this.etaSubscriberCallback.bind(this); this.etaSubscriberCallback = this.etaSubscriberCallback.bind(this);
this.sendEtaNotificationImmediately = this.sendEtaNotificationImmediately.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.`, body: `Shuttle is approaching ${stop.name} in ${Math.ceil(eta.secondsRemaining / 60)} minutes.`,
customKeys: { customKeys: {
shuttleId, shuttleId,
systemId: this.interchangeSystemId,
}, },
} }
return this.appleNotificationSender.sendNotificationImmediately(deviceId, notificationAlertArguments); return this.appleNotificationSender.sendNotificationImmediately(deviceId, notificationAlertArguments);

View File

@@ -40,7 +40,8 @@ describe("ETANotificationScheduler", () => {
notificationService = new ETANotificationScheduler( notificationService = new ETANotificationScheduler(
shuttleRepository, shuttleRepository,
notificationRepository, notificationRepository,
appleNotificationSender appleNotificationSender,
"1",
); );
notificationService.startListeningForUpdates(); notificationService.startListeningForUpdates();
}); });
@@ -127,7 +128,8 @@ describe("ETANotificationScheduler", () => {
notificationService = new ETANotificationScheduler( notificationService = new ETANotificationScheduler(
shuttleRepository, shuttleRepository,
notificationRepository, notificationRepository,
updatedNotificationSender updatedNotificationSender,
"1",
); );
notificationService.startListeningForUpdates(); notificationService.startListeningForUpdates();

View File

@@ -5,7 +5,6 @@ import {
AppleNotificationSender, AppleNotificationSender,
NotificationAlertArguments NotificationAlertArguments
} from "../../../src/notifications/senders/AppleNotificationSender"; } from "../../../src/notifications/senders/AppleNotificationSender";
import { ETANotificationScheduler } from "../../../src/notifications/schedulers/ETANotificationScheduler";
jest.mock("http2"); jest.mock("http2");
@@ -13,7 +12,7 @@ const sampleKeyBase64 = "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR1RBZ0VBTUJNR0J
function mockHttp2Connect(status: number) { function mockHttp2Connect(status: number) {
class MockClient extends EventEmitter { class MockClient extends EventEmitter {
request = jest.fn((headers: any) => { request = jest.fn((_) => {
const mockRequest: any = new EventEmitter(); const mockRequest: any = new EventEmitter();
mockRequest.setEncoding = jest.fn(); mockRequest.setEncoding = jest.fn();
mockRequest.write = jest.fn(); mockRequest.write = jest.fn();