backport
Version:
A CLI tool that automates the process of backporting commits
35 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.listenForCallsToNockScope = exports.mockUrqlRequest = void 0;
const url_1 = require("url");
const graphql_tag_1 = require("graphql-tag");
const nock_1 = __importDefault(require("nock"));
(0, graphql_tag_1.disableFragmentWarnings)();
function mockUrqlRequest({ operationName, statusCode = 200, body, headers, apiBaseUrl = 'http://localhost/graphql', }) {
const { origin, pathname } = new url_1.URL(apiBaseUrl);
const scope = (0, nock_1.default)(origin)
.post(pathname, (requestBody) => requestBody.operationName === operationName)
.reply(statusCode, body, headers);
return listenForCallsToNockScope(scope);
}
exports.mockUrqlRequest = mockUrqlRequest;
function listenForCallsToNockScope(scope) {
const calls = [];
scope.on('request', (req, interceptor, bodyString) => {
try {
calls.push(JSON.parse(bodyString));
}
catch (e) {
// eslint-disable-next-line no-console
console.error('Failed to parse nock request body:', bodyString, e);
// Push raw body if parsing fails, or handle as appropriate
calls.push(bodyString);
}
});
return calls;
}
exports.listenForCallsToNockScope = listenForCallsToNockScope;
//# sourceMappingURL=nockHelpers.js.map