From fbb57cbf8ec53f94fe1a018182fcd6df1a43f885 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Wed, 22 Jan 2025 20:02:53 -0800 Subject: [PATCH] add remaining test cases --- ...UnoptimizedInMemoryRepositoryTests.test.ts | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/test/repositories/UnoptimizedInMemoryRepositoryTests.test.ts b/test/repositories/UnoptimizedInMemoryRepositoryTests.test.ts index a3f2f7e..8c04994 100644 --- a/test/repositories/UnoptimizedInMemoryRepositoryTests.test.ts +++ b/test/repositories/UnoptimizedInMemoryRepositoryTests.test.ts @@ -551,21 +551,63 @@ describe("UnoptimizedInMemoryRepository", () => { describe("removeOrderedStopIfExists", () => { test("removes ordered stop given stop ID and route ID", async () => { + const routeId = "1"; + const mockOrderedStops = generateMockOrderedStops(); + await Promise.all(mockOrderedStops.map(async (stop) => { + stop.routeId = routeId; + await repository.addOrUpdateOrderedStop(stop); + })); + const orderedStopToRemove = mockOrderedStops[0]; + await repository.removeOrderedStopIfExists(orderedStopToRemove.stopId, orderedStopToRemove.routeId); + + const remainingOrderedStops = await repository.getOrderedStopsByRouteId(routeId); + expect(remainingOrderedStops).toHaveLength(mockOrderedStops.length - 1); }); test("does nothing if ordered stop doesn't exist", async () => { + const routeId = "1"; + const mockOrderedStops = generateMockOrderedStops(); + await Promise.all(mockOrderedStops.map(async (stop) => { + stop.routeId = routeId; + await repository.addOrUpdateOrderedStop(stop); + })); + await repository.removeOrderedStopIfExists("nonexistent-stop-id", "nonexistent-route-id"); + + const remainingOrderedStops = await repository.getOrderedStopsByRouteId(routeId); + expect(remainingOrderedStops).toHaveLength(mockOrderedStops.length); }); }); describe("removeEtaIfExists", () => { test("removes eta given shuttle ID and stop ID", async () => { + const stopId = "1"; + const mockEtas = generateMockEtas(); + await Promise.all(mockEtas.map(async (eta) => { + eta.stopId = stopId; + await repository.addOrUpdateEta(eta); + })); + const etaToRemove = mockEtas[0]; + await repository.removeEtaIfExists(etaToRemove.shuttleId, etaToRemove.stopId); + + const remainingEtas = await repository.getEtasForStopId(stopId); + expect(remainingEtas).toHaveLength(mockEtas.length - 1); }); test("does nothing if eta doesn't exist", async () => { + const stopId = "1"; + const mockEtas = generateMockEtas(); + await Promise.all(mockEtas.map(async (eta) => { + eta.stopId = stopId; + await repository.addOrUpdateEta(eta); + })); + await repository.removeEtaIfExists("nonexistent-shuttle-id", "nonexistent-stop-id"); + + const remainingEtas = await repository.getEtasForStopId(stopId); + expect(remainingEtas).toHaveLength(mockEtas.length); }); });