add test case for null next stop

This commit is contained in:
2025-01-28 14:47:33 -08:00
parent e079c0283e
commit 151281a17f
2 changed files with 28 additions and 4 deletions

View File

@@ -107,7 +107,26 @@ describe("OrderedStopResolvers", () => {
}); });
it("returns null if there is no next stop in the repository", async () => { it("returns null if there is no next stop in the repository", async () => {
const orderedStops = await setUpOrderedStopsInRepository();
orderedStops[0].nextStop = undefined;
await repository.addOrUpdateOrderedStop(orderedStops[0]);
const response = await testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
routeId: mockRoute.id,
stopId: orderedStops[0].stopId,
},
}, {
contextValue: {
repository,
}
});
assert(response.body.kind === "single");
const nonexistentNextStop = (response.body.singleResult.data?.system as any).route.orderedStop.nextStop;
expect(nonexistentNextStop).toBeNull();
}); });
it("returns null if the current stop no longer exists", async () => { it("returns null if the current stop no longer exists", async () => {

View File

@@ -7,6 +7,14 @@ import { IShuttle, ISystem } from "../../src/entities/entities";
import assert = require("node:assert"); import assert = require("node:assert");
import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; import { setUpTestServer } from "../testHelpers/apolloSetupHelpers";
async function addMockSystemToRepository(mockSystem: ISystem, repository: UnoptimizedInMemoryRepository) {
const mockSystems = generateMockSystems();
mockSystem = mockSystems[0];
mockSystem.id = "1";
await repository.addOrUpdateSystem(mockSystem);
return mockSystem;
}
describe("ShuttleResolvers", () => { describe("ShuttleResolvers", () => {
let testServer: ApolloServer<ServerContext> let testServer: ApolloServer<ServerContext>
let repository: UnoptimizedInMemoryRepository; let repository: UnoptimizedInMemoryRepository;
@@ -20,10 +28,7 @@ describe("ShuttleResolvers", () => {
let mockShuttle: IShuttle; let mockShuttle: IShuttle;
beforeEach(async () => { beforeEach(async () => {
const mockSystems = generateMockSystems(); mockSystem = await addMockSystemToRepository(mockSystem, repository);
mockSystem = mockSystems[0];
mockSystem.id = "1";
await repository.addOrUpdateSystem(mockSystem);
const mockShuttles = generateMockShuttles(); const mockShuttles = generateMockShuttles();
mockShuttle = mockShuttles[0]; mockShuttle = mockShuttles[0];