@fgv/ts-utils-jest
Version:
Custom matchers for ts-utils result class
27 lines • 1.21 kB
JavaScript
import { printExpectedDetailedResult, printReceivedDetailedResult } from '../../utils/matcherHelpers';
import { matcherName, predicate } from './predicate';
import { matcherHint } from 'jest-matcher-utils';
function passMessage(received, expectedMessage, expectedDetail) {
return () => [
matcherHint(`.not.${matcherName}`),
printExpectedDetailedResult('failure', false, expectedMessage, expectedDetail),
printReceivedDetailedResult(received)
].join('\n');
}
function failMessage(received, expectedMessage, expectedDetail) {
return () => [
matcherHint(`${matcherName}`),
printExpectedDetailedResult('failure', true, expectedMessage, expectedDetail),
printReceivedDetailedResult(received)
].join('\n');
}
export default {
toFailWithDetail: function (received, expectedMessage, expectedDetail) {
const pass = predicate(received, expectedMessage, expectedDetail);
if (pass) {
return { pass: true, message: passMessage(received, expectedMessage, expectedDetail) };
}
return { pass: false, message: failMessage(received, expectedMessage, expectedDetail) };
}
};
//# sourceMappingURL=index.js.map