@newmo/graphql-fake-server
Version:
GraphQL fake server for testing
75 lines • 2.08 kB
TypeScript
import { type MockObject } from "@newmo/graphql-fake-core";
import type { GraphQLSchema } from "graphql/index.js";
import type { RequiredFakeServerConfig } from "./config.js";
import { type LogLevel } from "./logger.js";
export type CreateFakeServerOptions = RequiredFakeServerConfig & {
logLevel?: LogLevel;
allowedCORSOrigins: string[];
};
type FakeServerInternal = {
mockObject: MockObject;
schema: GraphQLSchema;
ports: {
fakeServer: number;
apolloServer: number;
};
maxQueryDepth: number;
maxFieldRecursionDepth: number;
maxRegisteredSequences: number;
logLevel: LogLevel;
allowedCORSOrigins: string[];
};
export type RegisterSequenceNetworkError = {
type: "network-error";
operationName: string;
responseStatusCode: number;
errors: Record<string, unknown>[];
};
export type RegisterSequenceOperation = {
type: "operation";
operationName: string;
data: Record<string, unknown>;
};
export type RegisterSequenceOptions = RegisterSequenceNetworkError | RegisterSequenceOperation;
export type CalledResult = {
requestTimestamp: number;
request: {
headers: Record<string, unknown>;
body: Record<string, unknown>;
};
response: {
status: number;
headers: Record<string, unknown>;
body: Record<string, unknown>;
};
};
export type CalledResultResponse = {
ok: true;
data: CalledResult[];
};
export type RegisterOperationResponse = {
ok: true;
} | {
ok: false;
errors: string[];
};
export declare const createFakeServer: (options: CreateFakeServerOptions) => Promise<{
start: () => Promise<{
urls: {
fakeServer: string;
apolloServer: string;
};
}>;
stop: () => void;
}>;
export declare const createFakeServerInternal: (options: FakeServerInternal) => Promise<{
start: () => Promise<{
urls: {
fakeServer: string;
apolloServer: string;
};
}>;
stop: () => void;
}>;
export {};
//# sourceMappingURL=server.d.ts.map