1.2.8 • Published 2 years ago

chai-callslike v1.2.8

Weekly downloads
169
License
MIT
Repository
github
Last release
2 years ago

chai-callslike

build test lint Test Coverage Maintainability Packages npm version

A simple assertion to validate many aspects of stub calls. It is supposed to use with sinon + chai.

How it works

expect(stub).callsLike

Will validate the exactly interaction with the mocked method, which is:

  • How many times has been called;
  • Which parameters have been passed to it;
  • In what order the calls happened.

How to use?

It is pretty simple to setup the chai-callslike in your tests:

import chai from 'chai'
import {callsLike} from 'chai-callslike'

chai.use(callsLike)

Just pass the stub in the first parameter and, in the others, arrays with the set of parameters each calls had received.

expect(myStub).callsLike(
  ['param1call1', 'param2call1', 'param3call1'],
  ['param1call2', 'param2call2', 'param3call2'],
 );

If you want to check if the stub had never been called, pass just the stub:

expect(myStub).callsLike();

If you expect the stub to have been called with no parameters, pass empty arrays:

expect(myStub).callsLike([], [], [])

(in this example, myStub have been called three times with no parameters)

You can also use sinon matchers to validate the parameters instead of exact values:

expect(myStub).callsLike(
  [sinon.match.object, sinon.match.string, sinon.match(/.+foo.+goo/)]
 );

The generated log will look pretty as this:

If if didn't show up, take a look in the resources folder!

For more info look into the Full API Reference.

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago