assertthat
Version:
assertthat provides fluent TDD.
27 lines (26 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertResultIsAnErrorWithMessage = void 0;
const errors_1 = require("../../errors");
const compare_1 = require("../../comparisons/typeAware/compare");
const EqualDiff_1 = require("../../diffs/EqualDiff");
const prettyPrintString_1 = require("../../prettyPrint/forStrings/prettyPrintString");
const defekt_1 = require("defekt");
const assertResultIsAnErrorWithMessage = function (actual, expected) {
if (!actual.hasError()) {
return (0, defekt_1.error)(new errors_1.AssertionFailed({
message: 'The result is a value.',
expected: `To be an error with message ${(0, prettyPrintString_1.prettyPrintString)(expected)}.`
}));
}
const diff = (0, compare_1.compare)(actual.error.message, expected);
if ((0, EqualDiff_1.isEqualDiff)(diff)) {
return (0, defekt_1.value)();
}
return (0, defekt_1.error)(new errors_1.AssertionFailed({
message: 'The error does not have the expected message.',
expected: `To have the message ${(0, prettyPrintString_1.prettyPrintString)(expected)}`,
actual: (0, prettyPrintString_1.prettyPrintString)(actual.error.message)
}));
};
exports.assertResultIsAnErrorWithMessage = assertResultIsAnErrorWithMessage;