Repository URL to install this package:
|
Version:
0.0.6 ▾
|
"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: Object.assign({ 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();
} }, (remainingArgs.options || {})) }));
}
exports.toGraphqlModuleTest = toGraphqlModuleTest;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9HcmFwaHFsTW9kdWxlVGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90b0dyYXBocWxNb2R1bGVUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsbURBQStDO0FBQy9DLHFDQUE2QztBQUM3QywrQ0FBMkU7QUFRM0UsdUJBQXVCO0FBQ3ZCLFNBQWdCLG1CQUFtQixDQUFDLElBQTBCO0lBQzVELE1BQU0sbUZBQzBELEVBRDFELEVBQUUsYUFBYSxPQUMyQyxFQUR6Qyw2Q0FDeUMsQ0FBQTtJQUNoRSxNQUFNLEVBQ0osb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxXQUFXLEVBQ1gsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsR0FBRyxhQUFhLENBQUE7SUFFakIsTUFBTSxvQkFBb0IsR0FBRztRQUMzQixPQUFPLEVBQUUsSUFBSSxPQUFPLEVBQUU7S0FDdkIsQ0FBQTtJQUVELE9BQU8sZUFBTSxpQkFDWCxvQkFBb0I7UUFFcEIsUUFBUTtRQUNSLFNBQVMsSUFDTixhQUFhLElBQ2hCLE9BQU8sa0JBQ0wsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxFQUFDLEVBQUU7Z0JBQ3RCLE1BQU07Z0JBQ0osb0JBQW9CO2dCQUNwQixHQUFHLEdBQUcsa0NBQW9CLENBQUMsb0JBQTJCLENBQUMsRUFDdkQsR0FBRyxHQUFHLG1DQUFxQixFQUFFLEdBQzlCLEdBQUcsTUFBTSxDQUFBO2dCQUVWLDhDQUE4QztnQkFDOUMsNkNBQTZDO2dCQUM3QyxNQUFNLGFBQWEsR0FDakIsR0FBRyxDQUFDLEdBQUcsQ0FDTCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QjtvQkFDbEMsOEJBQThCLENBQ2pDO29CQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO29CQUNsQixHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO29CQUMzQixHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO29CQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUV6QixHQUFHLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtnQkFFakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQzFDLE1BQU0sV0FBVyxtQkFDZixHQUFHO29CQUNILEdBQUcsRUFDSCxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFDWixhQUFhLElBQ1YsWUFBWSxDQUNoQixDQUFBO2dCQUNELE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUN2RCxNQUFNLE1BQU0scUJBQVEsV0FBVyxFQUFLLGFBQWEsQ0FBRSxDQUFBO2dCQUVuRCxPQUFPLE1BQU0sQ0FBQTtZQUNmLENBQUMsRUFDRCxXQUFXLEVBQUUsR0FBRyxFQUFFO2dCQUNoQixPQUFPLFdBQVcsRUFBRSxDQUFBO1lBQ3RCLENBQUMsSUFFRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEtBRWxDLENBQUE7QUFDSixDQUFDO0FBakVELGtEQWlFQyJ9