UNPKG

@case-contract-testing/case

Version:

Next-generation contract testing suite

34 lines (33 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeFailedExample = exports.makeSuccessExample = exports.exampleToNames = void 0; const entities_1 = require("../../entities"); const exampleToNames = ({ states, mock }, index) => { const stateNames = states.map((state) => state.stateName).join(' and '); const requestName = 'case:matcher:uniqueName' in mock.request ? mock.request['case:matcher:uniqueName'] : `Mock ${index}'s request`; const responseName = 'case:matcher:uniqueName' in mock.response ? mock.response['case:matcher:uniqueName'] : `Mock ${index}'s response`; return { requestName, responseName, mockName: `${stateNames !== '' ? `When ${stateNames}, then ` : ''}${requestName} -> ${responseName}`, }; }; exports.exampleToNames = exampleToNames; const makeSuccessExample = (example) => { if (example.result !== 'PENDING') { throw new entities_1.CaseCoreError(`Trying to make a successful example from one that wasn't pending (was ${example.result})`); } return { ...example, result: 'VERIFIED' }; }; exports.makeSuccessExample = makeSuccessExample; const makeFailedExample = (example, errors) => { if (example.result !== 'PENDING') { throw new entities_1.CaseCoreError(`Trying to make a failed example from one that wasn't pending (was ${example.result})`); } return { ...example, result: 'FAILED', errors }; }; exports.makeFailedExample = makeFailedExample;