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