earljs
Version:
Ergonomic, modern and type-safe assertion library
21 lines (20 loc) • 929 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.toHaveBeenCalledExactlyWith = void 0;
const format_1 = require("../../format");
const isEqual_1 = require("../../isEqual");
function getCallsArgs(mock) {
return mock.calls.map((c) => c.args);
}
function toHaveBeenCalledExactlyWith(control, expectedArgs) {
const callsArgs = getCallsArgs(control.actual);
const formatted = (0, format_1.formatCompact)(expectedArgs);
return control.assert({
success: (0, isEqual_1.isEqual)(callsArgs, expectedArgs),
reason: `Mock was not called exactly with ${formatted} but was expected to`,
negatedReason: `Mock was called exactly with ${formatted} but wasn't expected to`,
actual: (0, format_1.format)(callsArgs, null),
expected: (0, format_1.format)(expectedArgs, callsArgs),
});
}
exports.toHaveBeenCalledExactlyWith = toHaveBeenCalledExactlyWith;
;