diff --git a/test/resolvers/OrderedStopResolverTests.test.ts b/test/resolvers/OrderedStopResolverTests.test.ts index b97776e..d724170 100644 --- a/test/resolvers/OrderedStopResolverTests.test.ts +++ b/test/resolvers/OrderedStopResolverTests.test.ts @@ -167,15 +167,42 @@ describe("OrderedStopResolvers", () => { } it("returns the previous stop if it exists", async () => { + // Arrange + const orderedStops = await setUpOrderedStopsInRepository(); + // Act + const response = await getResponseForPreviousStopQuery(orderedStops[1].stopId); + + // Assert + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined(); + + const previousStop = (response.body.singleResult.data?.system as any).route.orderedStop.previousStop; + expect(previousStop.stopId).toEqual(orderedStops[0].stopId); + expect(previousStop.routeId).toEqual(orderedStops[0].routeId); }); it("returns null if there is no previous stop in the repository", async () => { + const orderedStops = await setUpOrderedStopsInRepository(); + orderedStops[1].previousStop = undefined; + await repository.addOrUpdateOrderedStop(orderedStops[1]); + const response = await getResponseForPreviousStopQuery(orderedStops[1].stopId); + + assert(response.body.kind === "single"); + const nonexistentPreviousStop = (response.body.singleResult.data?.system as any).route.orderedStop.previousStop; + expect(nonexistentPreviousStop).toBeNull(); }); it("returns null if the current stop no longer exists", async () => { + const orderedStops = await setUpOrderedStopsInRepository(); + await repository.removeStopIfExists(orderedStops[0].stopId); + const response = await getResponseForPreviousStopQuery(orderedStops[1].stopId); + + assert(response.body.kind === "single"); + const nonexistentPreviousStop = (response.body.singleResult.data?.system as any).route.orderedStop.previousStop; + expect(nonexistentPreviousStop).toBeNull(); }); });