@fgv/ts-utils-jest
Version:
Custom matchers for ts-utils result class
29 lines • 1.18 kB
JavaScript
import { matcherName, predicate } from './predicate';
import { matcherHint } from 'jest-matcher-utils';
import { printExpectedResult } from '../../utils/matcherHelpers';
function passMessage(cbResult, expected) {
return () => [
matcherHint(`.not.${matcherName}`, 'callback', 'expectedMessage'),
printExpectedResult('failure', false, expected),
` Received: Callback failed with:\n>>>>\n${cbResult.value}\n<<<<`
].join('\n');
}
function failMessage(cbResult, expected) {
return () => [
matcherHint(`${matcherName}`, 'callback', 'expectedMessage'),
printExpectedResult('failure', true, expected),
cbResult.message === ''
? ' Received: Callback succeeded'
: ` Received: Callback failed with:\n>>>>\n${cbResult.message}\n<<<<`
].join('\n');
}
export default {
toFailTestWith: function (cb, expected) {
const cbResult = predicate(cb, expected);
if (cbResult.isSuccess()) {
return { pass: true, message: passMessage(cbResult, expected) };
}
return { pass: false, message: failMessage(cbResult, expected) };
}
};
//# sourceMappingURL=index.js.map