import { readFileSync } from "fs"; import { ApolloServer } from "@apollo/server"; import { MergedResolvers } from "../../src/MergedResolvers"; import { UnoptimizedInMemoryRepository } from "../../src/repositories/UnoptimizedInMemoryRepository"; import { beforeEach } from "@jest/globals"; import { ServerContext } from "../../src/ServerContext"; 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, }); } export function setupTestServerContext() { // @ts-ignore const context: { testServer: ApolloServer; repository: UnoptimizedInMemoryRepository } = {}; beforeEach(() => { context.testServer = setUpTestServer(); context.repository = new UnoptimizedInMemoryRepository(); }); // Return a reference, not destructured values return context; }