diff --git a/src/repositories/shuttle/__tests__/ShuttleRepositorySharedTests.test.ts b/src/repositories/shuttle/__tests__/ShuttleRepositorySharedTests.test.ts index 2db50fc..cb606c9 100644 --- a/src/repositories/shuttle/__tests__/ShuttleRepositorySharedTests.test.ts +++ b/src/repositories/shuttle/__tests__/ShuttleRepositorySharedTests.test.ts @@ -3,9 +3,7 @@ import { createClient, RedisClientType } from "redis"; import { UnoptimizedInMemoryShuttleRepository } from "../UnoptimizedInMemoryShuttleRepository"; import { ShuttleGetterSetterRepository } from "../ShuttleGetterSetterRepository"; import { RedisShuttleRepository } from "../RedisShuttleRepository"; -import { ShuttleRepositoryEvent } from "../ShuttleGetterRepository"; import { - generateMockEtas, generateMockOrderedStops, generateMockRoutes, generateMockShuttles, @@ -181,55 +179,6 @@ describe.each(repositoryImplementations)('$name', (holder) => { }); }); - describe("ETA event emitters", () => { - test("emits ETA_UPDATED event when ETAs are added from external source", async () => { - const mockListener = jest.fn(); - repository.on(ShuttleRepositoryEvent.ETA_UPDATED, mockListener); - - const mockEtas = generateMockEtas(); - for (const eta of mockEtas) { - await repository.addOrUpdateEtaFromExternalSource(eta); - } - - expect(mockListener).toHaveBeenCalledTimes(mockEtas.length); - expect(mockListener).toHaveBeenCalledWith(mockEtas[0]); - expect(mockListener).toHaveBeenCalledWith(mockEtas[mockEtas.length - 1]); - }); - - test("does not notify listener after it has been removed", async () => { - const mockListener = jest.fn(); - repository.on(ShuttleRepositoryEvent.ETA_UPDATED, mockListener); - - const mockEtas = generateMockEtas(); - - repository.off(ShuttleRepositoryEvent.ETA_UPDATED, mockListener); - await repository.addOrUpdateEtaFromExternalSource(mockEtas[0]); - expect(mockListener).toHaveBeenCalledTimes(0); - }); - - test("stops notifying specific listener after removal but continues for others", async () => { - const mockListener1 = jest.fn(); - const mockListener2 = jest.fn(); - repository.on(ShuttleRepositoryEvent.ETA_UPDATED, mockListener1); - repository.on(ShuttleRepositoryEvent.ETA_UPDATED, mockListener2); - - const mockEtas = generateMockEtas(); - await repository.addOrUpdateEtaFromExternalSource(mockEtas[0]); - - repository.off(ShuttleRepositoryEvent.ETA_UPDATED, mockListener1); - - await repository.addOrUpdateEtaFromExternalSource(mockEtas[mockEtas.length - 1]); - - expect(mockListener1).toHaveBeenCalledTimes(1); - expect(mockListener1).toHaveBeenCalledWith(mockEtas[0]); - expect(mockListener1).not.toHaveBeenCalledWith(mockEtas[mockEtas.length - 1]); - - expect(mockListener2).toHaveBeenCalledTimes(2); - expect(mockListener2).toHaveBeenCalledWith(mockEtas[0]); - expect(mockListener2).toHaveBeenCalledWith(mockEtas[mockEtas.length - 1]); - }); - }); - describe("getOrderedStopByRouteAndStopId", () => { test("gets an ordered stop by route ID and stop ID", async () => { const mockOrderedStops = generateMockOrderedStops(); @@ -515,46 +464,6 @@ describe.each(repositoryImplementations)('$name', (holder) => { }); }); - describe("removeEtaIfExists", () => { - test("emits an eta removed event when an eta is removed", async () => { - const mockRoutes = generateMockRoutes(); - const mockStops = generateMockStops(); - const mockShuttles = generateMockShuttles(); - const mockOrderedStops = generateMockOrderedStops(); - - const listener = jest.fn(); - repository.on(ShuttleRepositoryEvent.ETA_REMOVED, listener); - - // Setup route, stops, and ordered stops - await repository.addOrUpdateRoute(mockRoutes[0]); - for (const stop of mockStops) { - await repository.addOrUpdateStop(stop); - } - for (const orderedStop of mockOrderedStops.filter(os => os.routeId === mockRoutes[0].id)) { - await repository.addOrUpdateOrderedStop(orderedStop); - } - - // Create an ETA by moving shuttle between stops - const shuttle = mockShuttles[0]; - shuttle.routeId = mockRoutes[0].id; - shuttle.coordinates = mockStops[0].coordinates; - await repository.addOrUpdateShuttle(shuttle); - - shuttle.coordinates = mockStops[1].coordinates; - await repository.addOrUpdateShuttle(shuttle); - - // Get any ETAs that were created for this shuttle - const existingEtas = await repository.getEtasForShuttleId(shuttle.id); - - if (existingEtas.length > 0) { - const etaToRemove = existingEtas[0]; - await repository.removeEtaIfExists(etaToRemove.shuttleId, etaToRemove.stopId); - - expect(listener).toHaveBeenCalledWith(etaToRemove); - } - }); - }); - describe("clearShuttleData", () => { test("clears all shuttles from the repository", async () => { const mockShuttles = generateMockShuttles();