From 2a56bfb3efdb8bdc56414105d0b4384b036a328d Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Tue, 28 Jan 2025 16:21:54 -0800 Subject: [PATCH] add test cases for shuttles resolver --- test/resolvers/RouteResolverTests.test.ts | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/test/resolvers/RouteResolverTests.test.ts b/test/resolvers/RouteResolverTests.test.ts index 8a21e7f..77b5b20 100644 --- a/test/resolvers/RouteResolverTests.test.ts +++ b/test/resolvers/RouteResolverTests.test.ts @@ -1,11 +1,12 @@ -import { beforeEach, describe, it } from "@jest/globals"; +import { beforeEach, describe, expect, it } from "@jest/globals"; import { ServerContext } from "../../src/ServerContext"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; import { ApolloServer } from "@apollo/server"; import { addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers"; -import { generateMockRoutes, generateMockStops } from "../generators"; +import { generateMockRoutes, generateMockShuttles, generateMockStops } from "../generators"; import { IRoute, IStop, ISystem } from "../../src/entities/entities"; +import assert = require("node:assert"); describe("RouteResolvers", () => { let testServer: ApolloServer; @@ -64,11 +65,28 @@ describe("RouteResolvers", () => { } it("returns shuttle array if there are shuttles", async () => { + const expectedShuttles = generateMockShuttles(); + const expectedShuttle = expectedShuttles[0]; + expectedShuttle.systemId = mockSystem.id; + expectedShuttle.routeId = mockRoute.id; + await repository.addOrUpdateShuttle(expectedShuttle); + const response = await getResponseForShuttlesQuery(); + + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined() + const shuttle = (response.body.singleResult.data as any).system.route.shuttles[0]; + expect(shuttle.id).toEqual(expectedShuttle.id); + expect(shuttle.name).toEqual(expectedShuttle.name); }); it("returns empty array if there are no shuttles", async () => { + const response = await getResponseForShuttlesQuery(); + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined() + const shuttles = (response.body.singleResult.data as any).system.route.shuttles; + expect(shuttles.length).toEqual(0); }); });