Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql-toolset / dist / createTestClient.js
Size: Mime:
"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 apollo_server_core_1 = require("apollo-server-core");
const graphql_1 = require("graphql");
const validateGraphQLResponse_1 = require("./validateGraphQLResponse");
exports.createTestClient = (serverOrServerWithMock) => {
    const server = serverOrServerWithMock instanceof apollo_server_core_1.ApolloServerBase
        ? serverOrServerWithMock
        : serverOrServerWithMock.server;
    const mockRequestInternals = serverOrServerWithMock
        .mockRequestInternals;
    const executeOperationReference = server.executeOperation.bind(server);
    const executeOperation = async (request) => {
        try {
            const response = await executeOperationReference(request);
            validateGraphQLResponse_1.validateGraphQLResponse(response);
            return response;
        }
        catch (validationException) {
            console.error('!!! validation');
            throw validationException;
        }
    };
    const test = async (_a) => {
        var { query, mutation } = _a, args = __rest(_a, ["query", "mutation"]);
        const operation = query || mutation;
        if ((!query && !mutation) || (query && mutation)) {
            throw new Error('Either `query` or `mutation` must be passed, but not both.');
        }
        if (args.http) {
            const headers = args.http.headers;
            headers.forEach((value, key) => {
                // @todo: logger.debug
                console.debug(`setting header ${key}=${value}`);
                mockRequestInternals.headers.set(key, value);
            });
        }
        const queryOperation = typeof operation === 'string' ? operation : graphql_1.print(operation);
        return executeOperation(Object.assign({ 
            // Convert ASTs, which are produced by `graphql-tag` but not currently
            // used by `executeOperation`, to a String using `graphql/language/print`.
            query: queryOperation }, args));
    };
    return { query: test, mutate: test };
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlVGVzdENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVUZXN0Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXFEO0FBRXJELHFDQUE2QztBQUM3Qyx1RUFBbUU7QUErQ3RELFFBQUEsZ0JBQWdCLEdBQUcsQ0FDOUIsc0JBRTZDLEVBQzdDLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FDVixzQkFBc0IsWUFBWSxxQ0FBZ0I7UUFDaEQsQ0FBQyxDQUFDLHNCQUFzQjtRQUN4QixDQUFDLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFBO0lBQ25DLE1BQU0sb0JBQW9CLEdBQUksc0JBQW9FO1NBQy9GLG9CQUFvQixDQUFBO0lBRXZCLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN0RSxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxPQUF1QixFQUFFLEVBQUU7UUFDekQsSUFBSTtZQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0seUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDekQsaURBQXVCLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDakMsT0FBTyxRQUFRLENBQUE7U0FDaEI7UUFBQyxPQUFPLG1CQUFtQixFQUFFO1lBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUMvQixNQUFNLG1CQUFtQixDQUFBO1NBQzFCO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQThDLEVBQUUsRUFBRTtZQUFsRCxFQUFFLEtBQUssRUFBRSxRQUFRLE9BQTZCLEVBQTNCLHdDQUFPO1FBQzVDLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxRQUFRLENBQUE7UUFFbkMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQTtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFBO1lBQzVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLHNCQUFzQjtnQkFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7Z0JBQy9DLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQzlDLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFFRCxNQUFNLGNBQWMsR0FDbEIsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUU5RCxPQUFPLGdCQUFnQjtZQUNyQixzRUFBc0U7WUFDdEUsMEVBQTBFO1lBQzFFLEtBQUssRUFBRSxjQUFjLElBQ2pCLElBQTJCLEVBQy9CLENBQUE7SUFDSixDQUFDLENBQUE7SUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUE7QUFDdEMsQ0FBQyxDQUFBIn0=