migrate test server setup to separate file

This commit is contained in:
2025-01-23 15:20:34 -08:00
parent 1abf808e9f
commit 640eb76971
7 changed files with 30 additions and 17 deletions

View File

@@ -24,7 +24,7 @@ import {
resetGlobalFetchMockJson, resetGlobalFetchMockJson,
updateGlobalFetchMockJson, updateGlobalFetchMockJson,
updateGlobalFetchMockJsonToThrowSyntaxError updateGlobalFetchMockJsonToThrowSyntaxError
} from "../mockHelpers/fetchMockHelpers"; } from "../testHelpers/fetchMockHelpers";
async function assertAsyncCallbackThrowsApiResponseError(callback: () => Promise<any>) { async function assertAsyncCallbackThrowsApiResponseError(callback: () => Promise<any>) {
await expect(callback).rejects.toThrow(ApiResponseError); await expect(callback).rejects.toThrow(ApiResponseError);

View File

@@ -1,6 +1,6 @@
import { afterEach, beforeAll, beforeEach, describe, expect, it, jest } from "@jest/globals"; import { afterEach, beforeAll, beforeEach, describe, expect, it, jest } from "@jest/globals";
import { TimedApiBasedRepositoryLoader } from "../../src/loaders/TimedApiBasedRepositoryLoader"; import { TimedApiBasedRepositoryLoader } from "../../src/loaders/TimedApiBasedRepositoryLoader";
import { resetGlobalFetchMockJson } from "../mockHelpers/fetchMockHelpers"; import { resetGlobalFetchMockJson } from "../testHelpers/fetchMockHelpers";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
describe("TimedApiBasedRepositoryLoader", () => { describe("TimedApiBasedRepositoryLoader", () => {

View File

@@ -1,11 +1,10 @@
import { beforeEach, describe, expect, it } from "@jest/globals"; import { beforeEach, describe, expect, it } from "@jest/globals";
import { ApolloServer } from "@apollo/server"; import { ApolloServer } from "@apollo/server";
import { ServerContext } from "../../src/ServerContext"; import { ServerContext } from "../../src/ServerContext";
import { readFileSync } from "fs";
import { MergedResolvers } from "../../src/MergedResolvers";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import { generateMockSystems } from "../generators"; import { generateMockSystems } from "../generators";
import assert = require("node:assert"); import assert = require("node:assert");
import { setUpTestServer } from "../testHelpers/apolloSetupHelpers";
// See Apollo documentation for integration test guide // See Apollo documentation for integration test guide
// https://www.apollographql.com/docs/apollo-server/testing/testing // https://www.apollographql.com/docs/apollo-server/testing/testing
@@ -15,11 +14,7 @@ describe("QueryResolvers", () => {
let repository: UnoptimizedInMemoryRepository; let repository: UnoptimizedInMemoryRepository;
beforeEach(async () => { beforeEach(async () => {
const typeDefs = readFileSync("./schema.graphqls", "utf8"); testServer = setUpTestServer();
testServer = new ApolloServer<ServerContext>({
typeDefs,
resolvers: MergedResolvers,
});
repository = new UnoptimizedInMemoryRepository(); repository = new UnoptimizedInMemoryRepository();
}); });

View File

@@ -2,23 +2,17 @@ import { beforeEach, describe, expect, it } from "@jest/globals";
import { ApolloServer } from "@apollo/server"; import { ApolloServer } from "@apollo/server";
import { ServerContext } from "../../src/ServerContext"; import { ServerContext } from "../../src/ServerContext";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import { readFileSync } from "fs";
import { MergedResolvers } from "../../src/MergedResolvers";
import { generateMockEtas, generateMockRoutes, generateMockShuttles, generateMockSystems } from "../generators"; import { generateMockEtas, generateMockRoutes, generateMockShuttles, generateMockSystems } from "../generators";
import { IShuttle, ISystem } from "../../src/entities/entities"; import { IShuttle, ISystem } from "../../src/entities/entities";
import assert = require("node:assert"); import assert = require("node:assert");
import { setUpTestServer } from "../testHelpers/apolloSetupHelpers";
describe("ShuttleResolvers", () => { describe("ShuttleResolvers", () => {
let testServer: ApolloServer<ServerContext> let testServer: ApolloServer<ServerContext>
let repository: UnoptimizedInMemoryRepository; let repository: UnoptimizedInMemoryRepository;
beforeEach(async () => { beforeEach(async () => {
const typeDefs = readFileSync("./schema.graphqls", "utf8"); testServer = setUpTestServer();
testServer = new ApolloServer({
typeDefs,
resolvers: MergedResolvers,
});
repository = new UnoptimizedInMemoryRepository(); repository = new UnoptimizedInMemoryRepository();
}); });

View File

@@ -0,0 +1,11 @@
import { beforeEach, describe } from "@jest/globals";
import { ApolloServer } from "@apollo/server";
import { ServerContext } from "../../src/ServerContext";
import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository";
import { readFileSync } from "fs";
import { MergedResolvers } from "../../src/MergedResolvers";
describe("StopResolvers", () => {
// replicate setup code
});

View File

@@ -0,0 +1,13 @@
import { readFileSync } from "fs";
import { ApolloServer } from "@apollo/server";
import { MergedResolvers } from "../../src/MergedResolvers";
export function setUpTestServer() {
// Leaving this separate from the main server in case
// configuration changes
const typeDefs = readFileSync("./schema.graphqls", "utf8");
return new ApolloServer({
typeDefs,
resolvers: MergedResolvers,
});
}