add test cases for shuttles resolver

This commit is contained in:
2025-01-28 16:21:54 -08:00
parent f2c1f605ae
commit 2a56bfb3ef

View File

@@ -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 { ServerContext } from "../../src/ServerContext";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; import { setUpTestServer } from "../testHelpers/apolloSetupHelpers";
import { ApolloServer } from "@apollo/server"; import { ApolloServer } from "@apollo/server";
import { addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers"; 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 { IRoute, IStop, ISystem } from "../../src/entities/entities";
import assert = require("node:assert");
describe("RouteResolvers", () => { describe("RouteResolvers", () => {
let testServer: ApolloServer<ServerContext>; let testServer: ApolloServer<ServerContext>;
@@ -64,11 +65,28 @@ describe("RouteResolvers", () => {
} }
it("returns shuttle array if there are shuttles", async () => { 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 () => { 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);
}); });
}); });