Files
project-inter-server/test/resolvers/OrderedStopResolverTests.test.ts

87 lines
2.0 KiB
TypeScript

import { beforeEach, describe } from "@jest/globals";
import { ApolloServer } from "@apollo/server";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import { ServerContext } from "../../src/ServerContext";
import { setUpTestServer } from "../testHelpers/apolloSetupHelpers";
describe("OrderedStopResolvers", () => {
let apolloServer: ApolloServer<ServerContext>;
let repository: UnoptimizedInMemoryRepository;
beforeEach(async () => {
apolloServer = setUpTestServer();
repository = new UnoptimizedInMemoryRepository();
});
describe("nextStop", () => {
const query = `
query GetNextStop($systemId: ID!, $routeId: ID!, $stopId: ID!) {
system(id: $systemId) {
route(id: $routeId) {
orderedStop(forStopId: $stopId) {
nextStop {
routeId
stopId
}
}
}
}
}
`;
});
describe("previousStop", () => {
const query = `
query GetNextStop($systemId: ID!, $routeId: ID!, $stopId: ID!) {
system(id: $systemId) {
route(id: $routeId) {
orderedStop(forStopId: $stopId) {
previousStop {
routeId
stopId
}
}
}
}
}
`;
});
describe("route", () => {
// Note that there is no `orderedStop(forRouteId)` resolver,
// so fetch all ordered stops for a stop instead
const query = `
query GetNextStop($systemId: ID!, $stopId: ID!) {
system(id: $systemId) {
stop(id: $stopId) {
orderedStops {
route {
id
name
}
}
}
}
}
`;
});
describe("stop", () => {
const query = `
query GetNextStop($systemId: ID!, $routeId: ID!, $stopId: ID!) {
system(id: $systemId) {
route(id: $routeId) {
orderedStop(forStopId: $stopId) {
stop {
name
id
}
}
}
}
}
`;
});
});