UNPKG

cypress-contract-stubs

Version:

Cypress plugin for Spring Contract Stubs

31 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stubsTasks = void 0; const stubs_entries_1 = require("./stubs-entries"); const lodash_1 = require("lodash"); const debug_1 = require("../utils/debug"); function filterStubEntries(config) { const filters = (0, lodash_1.pickBy)({ id: config === null || config === void 0 ? void 0 : config.id, name: config === null || config === void 0 ? void 0 : config.name, 'request.method': config === null || config === void 0 ? void 0 : config.method, 'request.url': config === null || config === void 0 ? void 0 : config.url, 'response.status': config === null || config === void 0 ? void 0 : config.status, consumer: config === null || config === void 0 ? void 0 : config.consumer }); const stubFilters = Object.keys(filters).reduce((value, key) => (0, lodash_1.set)(value, key, filters[key]), {}); const stubs = (0, lodash_1.filter)(stubs_entries_1.stubEntries, stubFilters); debug_1.logger.debug('stubs:filter', `Found ${stubs.length} stub with filter ${JSON.stringify(stubFilters)}`); return stubs.length ? stubs[0] : null; } function getAllStubEntries() { return stubs_entries_1.stubEntries; } function stubsTasks(on) { on('task', { 'contract:stubs': getAllStubEntries, 'contract:stub': filterStubEntries }); } exports.stubsTasks = stubsTasks; //# sourceMappingURL=stubs-tasks.js.map