@case-contract-testing/case
Version:
Next-generation contract testing suite
34 lines (33 loc) • 1.52 kB
JavaScript
;
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;