Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 1.01 KB

when-called.md

File metadata and controls

46 lines (35 loc) · 1.01 KB

Call the subject function without arguments, then delegate the return value to another assertion.

function giveMeFive() {
    return 5;
}

expect(giveMeFive, 'when called', 'to equal', 5);

In case of a failing expectation you get the following output:

expect(giveMeFive, 'when called', 'to equal', 7);
expected function giveMeFive() { return 5; } when called to equal 7
  expected 5 to equal 7

If you don't provide an assertion to delegate to, the return value will be provided as the fulfillment value of the promise:

return expect(giveMeFive, 'called').then(function (result) {
    expect(result, 'to equal', 5);
});

When this assertion in used together with to satisfy we make sure that this is bound correctly:

function Person(name) {
    this.name = name;
}

Person.prototype.toString = function () {
    return this.name;
};

expect(new Person('John Doe'), 'to satisfy', {
    toString: expect.it('when called to equal', 'John Doe')
});