UNPKG

@case-contract-testing/case

Version:

Next-generation contract testing suite

22 lines (21 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupMock = void 0; const entities_1 = require("../../../../entities"); const context_1 = require("../../../../entities/context"); const results_1 = require("../../../../entities/results"); const mockExecutor_1 = require("./mockExecutor"); const mockExecutors_1 = require("./mockExecutors"); const setupMock = (mockDescriptor, parentMatchContext) => (0, mockExecutor_1.mockExecutor)(mockDescriptor, mockExecutors_1.MockExecutors, parentMatchContext).then(({ config, assertableData }) => ({ config, assert: () => assertableData().then(({ expected, context, actual }) => Promise.resolve(context.selfVerify(expected, (0, context_1.addLocation)(':selfCheck', context))) .then((selfVerification) => { if ((0, results_1.hasErrors)(selfVerification)) { throw new entities_1.CaseConfigurationError( // TODO document this extensively. `The matchers used have been given an example that doesn't pass the matcher: ${selfVerification[0]?.message} (at ${selfVerification[0]?.location})`); } }) .then(() => context.descendAndCheck(expected, context, actual))), })); exports.setupMock = setupMock;