mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-17 07:50:31 +00:00
30 lines
984 B
TypeScript
30 lines
984 B
TypeScript
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";
|
|
|
|
|
|
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,
|
|
});
|
|
}
|
|
|
|
export function setupTestServerContext() {
|
|
// @ts-ignore
|
|
const context: { testServer: ApolloServer<ServerContext>; repository: UnoptimizedInMemoryRepository } = {};
|
|
|
|
beforeEach(() => {
|
|
context.testServer = setUpTestServer();
|
|
context.repository = new UnoptimizedInMemoryRepository();
|
|
});
|
|
|
|
// Return a reference, not destructured values
|
|
return context;
|
|
} |