diff --git a/test/resolvers/RouteResolverTests.test.ts b/test/resolvers/RouteResolverTests.test.ts index 77b5b20..e445cb7 100644 --- a/test/resolvers/RouteResolverTests.test.ts +++ b/test/resolvers/RouteResolverTests.test.ts @@ -4,7 +4,7 @@ import { UnoptimizedInMemoryRepository } from "../../src/repositories/Unoptimize import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; import { ApolloServer } from "@apollo/server"; import { addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers"; -import { generateMockRoutes, generateMockShuttles, generateMockStops } from "../generators"; +import { generateMockOrderedStops, generateMockRoutes, generateMockShuttles, generateMockStops } from "../generators"; import { IRoute, IStop, ISystem } from "../../src/entities/entities"; import assert = require("node:assert"); @@ -93,7 +93,7 @@ describe("RouteResolvers", () => { describe("orderedStop", () => { async function getResponseForOrderedStopQuery() { const query = ` - query GetRouteOrderedStop($systemId: ID!, $routeId: ID!) { + query GetRouteOrderedStop($systemId: ID!, $routeId: ID!, $stopId: ID!) { system(id: $systemId) { route(id: $routeId) { orderedStop(forStopId: $stopId) { @@ -119,11 +119,37 @@ describe("RouteResolvers", () => { } it("returns ordered stop using provided data", async () => { + const orderedStops = generateMockOrderedStops(); + const expectedOrderedStop = orderedStops[0]; + expectedOrderedStop.stopId = mockStop.id; + expectedOrderedStop.routeId = mockRoute.id; + await repository.addOrUpdateOrderedStop(expectedOrderedStop); + const response = await getResponseForOrderedStopQuery(); + + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined(); + + const orderedStop = (response.body.singleResult.data as any).system.route.orderedStop; + expect(orderedStop.stopId).toEqual(expectedOrderedStop.stopId); }); it("returns null if the stop doesn't exist", async () => { + const orderedStops = generateMockOrderedStops(); + const expectedOrderedStop = orderedStops[0]; + expectedOrderedStop.stopId = mockStop.id; + expectedOrderedStop.routeId = mockRoute.id; + await repository.addOrUpdateOrderedStop(expectedOrderedStop); + await repository.removeStopIfExists(mockStop.id); + + const response = await getResponseForOrderedStopQuery(); + + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined(); + + const orderedStop = (response.body.singleResult.data as any).system.route.orderedStop; + expect(orderedStop).toBeNull(); }); }); });