Repository URL to install this package:
|
Version:
0.0.1 ▾
|
"use strict";
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
t[p[i]] = s[p[i]];
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
const GraphQLModule_1 = require("./GraphQLModule");
const server_1 = require("./server");
const expressMock_1 = require("./expressMock");
// createEndToEndClient
function toGraphqlModuleTest(args) {
const _a = args instanceof GraphQLModule_1.GraphQLModule ? { graphqlModule: args } : args, { graphqlModule } = _a, remainingArgs = __rest(_a, ["graphqlModule"]);
const { mergedContextBuilder, context, dataSources, typeDefs, resolvers, schemaDirectives, } = graphqlModule;
const mockRequestInternals = {
headers: new Headers(),
};
return server_1.toTest(Object.assign({ mockRequestInternals,
typeDefs,
resolvers }, remainingArgs, { options: {
schemaDirectives,
context: async (apollo) => {
const {
// @todo - not `any`
req = expressMock_1.toMockExpressRequest(mockRequestInternals), res = expressMock_1.toMockExpressResponse(), } = apollo;
// @todo, we'll write a specific test for this
// const correlationId = toCorrelationId(req)
const correlationId = req.get(process.env.CORRELATION_ID_NAMESPACE ||
'x-missing-correlation-id-env') ||
req.get('x-trace') ||
req.get('x-correlation-id') ||
req.get('x-sk-session-id') ||
req.get('x-session-id');
req.correlationId = correlationId;
const asyncContext = await context(apollo);
const baseContext = Object.assign({ req,
res, log: req.log, correlationId }, asyncContext);
const mergedContext = mergedContextBuilder(baseContext);
const merged = Object.assign({}, baseContext, mergedContext);
return merged;
},
dataSources: () => {
return dataSources();
},
} }));
}
exports.toGraphqlModuleTest = toGraphqlModuleTest;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9HcmFwaHFsTW9kdWxlVGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90b0dyYXBocWxNb2R1bGVUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsbURBQStDO0FBQy9DLHFDQUE2QztBQUM3QywrQ0FBMkU7QUFRM0UsdUJBQXVCO0FBQ3ZCLFNBQWdCLG1CQUFtQixDQUFDLElBQTBCO0lBQzVELE1BQU0sbUZBQzBELEVBRDFELEVBQUUsYUFBYSxPQUMyQyxFQUR6Qyw2Q0FDeUMsQ0FBQTtJQUNoRSxNQUFNLEVBQ0osb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxXQUFXLEVBQ1gsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsR0FBRyxhQUFhLENBQUE7SUFFakIsTUFBTSxvQkFBb0IsR0FBRztRQUMzQixPQUFPLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDdkIsQ0FBQTtJQUVELE9BQU8sZUFBTSxpQkFDWCxvQkFBb0I7UUFFcEIsUUFBUTtRQUNSLFNBQVMsSUFDTixhQUFhLElBQ2hCLE9BQU8sRUFBRTtZQUNQLGdCQUFnQjtZQUNoQixPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO2dCQUN0QixNQUFNO2dCQUNKLG9CQUFvQjtnQkFDcEIsR0FBRyxHQUFHLGtDQUFvQixDQUFDLG9CQUEyQixDQUFDLEVBQ3ZELEdBQUcsR0FBRyxtQ0FBcUIsRUFBRSxHQUM5QixHQUFHLE1BQU0sQ0FBQTtnQkFFViw4Q0FBOEM7Z0JBQzlDLDZDQUE2QztnQkFDN0MsTUFBTSxhQUFhLEdBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0I7b0JBQ2xDLDhCQUE4QixDQUNqQztvQkFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDbEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDMUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFFekIsR0FBRyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7Z0JBRWpDLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUMxQyxNQUFNLFdBQVcsbUJBQ2YsR0FBRztvQkFDSCxHQUFHLEVBQ0gsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQ1osYUFBYSxJQUNWLFlBQVksQ0FDaEIsQ0FBQTtnQkFDRCxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDdkQsTUFBTSxNQUFNLHFCQUFRLFdBQVcsRUFBSyxhQUFhLENBQUUsQ0FBQTtnQkFFbkQsT0FBTyxNQUFNLENBQUE7WUFDZixDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDaEIsT0FBTyxXQUFXLEVBQUUsQ0FBQTtZQUN0QixDQUFDO1NBQ0YsSUFDRCxDQUFBO0FBQ0osQ0FBQztBQS9ERCxrREErREMifQ==