update test helpers to consolidate ServerContext creation into one method

This commit is contained in:
2025-02-04 10:56:00 -08:00
parent 814f2c6584
commit b918bf7a67
9 changed files with 63 additions and 41 deletions

View File

@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IEta, IShuttle, IStop, ISystem } from "../../src/entities/entities";
import {
addMockEtaToRepository, addMockShuttleToRepository,
@@ -9,6 +9,7 @@ import {
import assert = require("node:assert");
describe("EtaResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
@@ -24,7 +25,7 @@ describe("EtaResolvers", () => {
});
async function getResponseForEtaQuery(query: string) {
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -87,4 +88,4 @@ describe("EtaResolvers", () => {
expect(eta.shuttle.id).toEqual(expectedEta.shuttleId);
});
});
});
});

View File

@@ -1,8 +1,8 @@
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { describe, it } from "@jest/globals";
import { setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
describe("MutationResolvers", () => {
const context = setupTestServerContext()
const testServerHolder = setupTestServerHolder()
describe("scheduleNotification", () => {
it("adds a notification to the notification service", async () => {

View File

@@ -1,11 +1,12 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { IRoute, IStop, ISystem } from "../../src/entities/entities";
import { generateMockOrderedStops, generateMockStops } from "../testHelpers/mockDataGenerators";
import { addMockRouteToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("OrderedStopResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
@@ -59,7 +60,7 @@ describe("OrderedStopResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -131,7 +132,7 @@ describe("OrderedStopResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -206,7 +207,7 @@ describe("OrderedStopResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -256,7 +257,7 @@ describe("OrderedStopResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,

View File

@@ -1,12 +1,13 @@
import { describe, expect, it } from "@jest/globals";
import { generateMockSystems } from "../testHelpers/mockDataGenerators";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import assert = require("node:assert");
// See Apollo documentation for integration test guide
// https://www.apollographql.com/docs/apollo-server/testing/testing
describe("QueryResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
async function addMockSystems() {
@@ -30,7 +31,7 @@ describe("QueryResolvers", () => {
}
`;
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
}, {
contextValue: {
@@ -59,7 +60,7 @@ describe("QueryResolvers", () => {
const systems = await addMockSystems();
const systemToGet = systems[1];
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
id: systemToGet.id,
@@ -76,7 +77,7 @@ describe("QueryResolvers", () => {
});
it("returns null if there is no system", async () => {
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
id: "nonexistent-id",
@@ -92,4 +93,4 @@ describe("QueryResolvers", () => {
expect(response.body.singleResult.data?.system).toBeNull();
});
});
});
});

View File

@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import {
addMockRouteToRepository,
addMockStopToRepository,
@@ -10,6 +10,7 @@ import { IRoute, IStop, ISystem } from "../../src/entities/entities";
import assert = require("node:assert");
describe("RouteResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
@@ -40,7 +41,7 @@ describe("RouteResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -95,7 +96,7 @@ describe("RouteResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -145,4 +146,4 @@ describe("RouteResolvers", () => {
expect(orderedStop).toBeNull();
});
});
});
});

View File

@@ -1,12 +1,13 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { generateMockEtas, generateMockRoutes } from "../testHelpers/mockDataGenerators";
import { IShuttle, ISystem } from "../../src/entities/entities";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { addMockShuttleToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("ShuttleResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
@@ -47,7 +48,7 @@ describe("ShuttleResolvers", () => {
const mockEta = etas[1];
// Act
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -68,7 +69,7 @@ describe("ShuttleResolvers", () => {
});
it("returns null if it doesn't exist", async () => {
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -106,7 +107,7 @@ describe("ShuttleResolvers", () => {
it("returns associated ETAs if they exist for the shuttle", async () => {
const etas = await addMockEtas(mockShuttle.id);
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -125,7 +126,7 @@ describe("ShuttleResolvers", () => {
});
it("returns empty array if no ETAs exist", async () => {
const response = await context.testServer.executeOperation({
const response = await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -164,7 +165,7 @@ describe("ShuttleResolvers", () => {
`
async function getResponseForQuery() {
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -197,4 +198,4 @@ describe("ShuttleResolvers", () => {
});
});
});
});

View File

@@ -1,11 +1,12 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { generateMockEtas, generateMockOrderedStops } from "../testHelpers/mockDataGenerators";
import { IStop, ISystem } from "../../src/entities/entities";
import { addMockStopToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers";
import assert = require("node:assert");
describe("StopResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockStop: IStop;
@@ -17,7 +18,7 @@ describe("StopResolvers", () => {
})
async function getResponseForQuery(query: string) {
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -105,4 +106,4 @@ describe("StopResolvers", () => {
expect((response.body.singleResult.data as any).system.stop.etas).toHaveLength(0);
});
});
});
});

View File

@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it } from "@jest/globals";
import { setupTestServerContext } from "../testHelpers/apolloTestServerHelpers";
import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers";
import { generateMockRoutes, generateMockShuttles, generateMockStops } from "../testHelpers/mockDataGenerators";
import {
addMockRouteToRepository,
@@ -11,6 +11,7 @@ import { ISystem } from "../../src/entities/entities";
import assert = require("node:assert");
describe("SystemResolvers", () => {
const holder = setupTestServerHolder();
const context = setupTestServerContext();
let mockSystem: ISystem;
@@ -21,7 +22,7 @@ describe("SystemResolvers", () => {
// TODO: Consolidate these into one single method taking an object
async function getResponseFromQueryNeedingSystemId(query: string) {
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -102,7 +103,7 @@ describe("SystemResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -169,7 +170,7 @@ describe("SystemResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -237,7 +238,7 @@ describe("SystemResolvers", () => {
}
`;
return await context.testServer.executeOperation({
return await holder.testServer.executeOperation({
query,
variables: {
systemId: mockSystem.id,
@@ -318,4 +319,4 @@ describe("SystemResolvers", () => {
expect(shuttles.length === expectedShuttles.length);
});
});
});
});