diff --git a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts index 173f696..691667e 100644 --- a/test/loaders/ApiBasedRepositoryLoaderTests.test.ts +++ b/test/loaders/ApiBasedRepositoryLoaderTests.test.ts @@ -24,7 +24,7 @@ import { resetGlobalFetchMockJson, updateGlobalFetchMockJson, updateGlobalFetchMockJsonToThrowSyntaxError -} from "../mockHelpers/fetchMockHelpers"; +} from "../testHelpers/fetchMockHelpers"; async function assertAsyncCallbackThrowsApiResponseError(callback: () => Promise) { await expect(callback).rejects.toThrow(ApiResponseError); diff --git a/test/loaders/TimedApiBasedRepositoryLoaderTests.test.ts b/test/loaders/TimedApiBasedRepositoryLoaderTests.test.ts index 18f4616..9979a06 100644 --- a/test/loaders/TimedApiBasedRepositoryLoaderTests.test.ts +++ b/test/loaders/TimedApiBasedRepositoryLoaderTests.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, jest } from "@jest/globals"; import { TimedApiBasedRepositoryLoader } from "../../src/loaders/TimedApiBasedRepositoryLoader"; -import { resetGlobalFetchMockJson } from "../mockHelpers/fetchMockHelpers"; +import { resetGlobalFetchMockJson } from "../testHelpers/fetchMockHelpers"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; describe("TimedApiBasedRepositoryLoader", () => { diff --git a/test/resolvers/QueryResolverTests.test.ts b/test/resolvers/QueryResolverTests.test.ts index c806a9e..f0e4777 100644 --- a/test/resolvers/QueryResolverTests.test.ts +++ b/test/resolvers/QueryResolverTests.test.ts @@ -1,11 +1,10 @@ import { beforeEach, describe, expect, it } from "@jest/globals"; import { ApolloServer } from "@apollo/server"; import { ServerContext } from "../../src/ServerContext"; -import { readFileSync } from "fs"; -import { MergedResolvers } from "../../src/MergedResolvers"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { generateMockSystems } from "../generators"; import assert = require("node:assert"); +import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; // See Apollo documentation for integration test guide // https://www.apollographql.com/docs/apollo-server/testing/testing @@ -15,11 +14,7 @@ describe("QueryResolvers", () => { let repository: UnoptimizedInMemoryRepository; beforeEach(async () => { - const typeDefs = readFileSync("./schema.graphqls", "utf8"); - testServer = new ApolloServer({ - typeDefs, - resolvers: MergedResolvers, - }); + testServer = setUpTestServer(); repository = new UnoptimizedInMemoryRepository(); }); diff --git a/test/resolvers/ShuttleResolverTests.test.ts b/test/resolvers/ShuttleResolverTests.test.ts index 9869a02..73f667e 100644 --- a/test/resolvers/ShuttleResolverTests.test.ts +++ b/test/resolvers/ShuttleResolverTests.test.ts @@ -2,23 +2,17 @@ import { beforeEach, describe, expect, it } 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"; import { generateMockEtas, generateMockRoutes, generateMockShuttles, generateMockSystems } from "../generators"; import { IShuttle, ISystem } from "../../src/entities/entities"; import assert = require("node:assert"); +import { setUpTestServer } from "../testHelpers/apolloSetupHelpers"; describe("ShuttleResolvers", () => { let testServer: ApolloServer let repository: UnoptimizedInMemoryRepository; beforeEach(async () => { - const typeDefs = readFileSync("./schema.graphqls", "utf8"); - testServer = new ApolloServer({ - typeDefs, - resolvers: MergedResolvers, - }); - + testServer = setUpTestServer(); repository = new UnoptimizedInMemoryRepository(); }); diff --git a/test/resolvers/StopResolverTests.test.ts b/test/resolvers/StopResolverTests.test.ts new file mode 100644 index 0000000..4439760 --- /dev/null +++ b/test/resolvers/StopResolverTests.test.ts @@ -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 + +}); \ No newline at end of file diff --git a/test/testHelpers/apolloSetupHelpers.ts b/test/testHelpers/apolloSetupHelpers.ts new file mode 100644 index 0000000..5a4bf8e --- /dev/null +++ b/test/testHelpers/apolloSetupHelpers.ts @@ -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, + }); +} diff --git a/test/mockHelpers/fetchMockHelpers.ts b/test/testHelpers/fetchMockHelpers.ts similarity index 100% rename from test/mockHelpers/fetchMockHelpers.ts rename to test/testHelpers/fetchMockHelpers.ts