sinon-assert-stub

Nice assertions for sinon stubs.
Installation
npm install sinon-assert-stubUsage
Pass a sinon stub to the assertion function to check it, for example this checks that a stub function is called twice with specific arguments:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('foo');
stub('bar', 'zim');
assertStub.calledWith(stub, [['foo'], ['bar', 'zim']]);With CommonJS / require()
const assertStub = require('sinon-assert-stub');
const sinon = require('sinon');
const stub = sinon.stub();
stub('foo');
stub('bar', 'zim');
assertStub.calledWith(stub, [['foo'], ['bar', 'zim']]);Methods
calledOnce
Asserts the stub was called exactly once:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('foo');
assertStub.calledOnce(stub);notCalled
Asserts the stub was never called:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
assertStub.notCalled(stub);calledWith
Asserts the stub was called an exact number of times with specified arguments:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('foo');
stub('bar', 'zim');
assertStub.calledWith(stub, [['foo'], ['bar', 'zim']]);calledOnceWith
Asserts the stub was called an once with specified arguments:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('bar', 'zim');
assertStub.calledOnceWith(stub, ['bar', 'zim']);calledStartingWith
Asserts that the stub was called an exact number of times starting with specified arguments, any additional arguments are ignored:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('foo', 1, 2, 3);
stub('bar', 'zim');
assertStub.calledStartingWith(stub, [['foo'], ['bar', 'zim']]);calledOnceStartingWith
Asserts that the stub was called once starting with specified arguments:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub('foo', 1, 2, 3);
assertStub.calledOnceStartingWith(stub, ['foo']);notOtherwiseCalled
Asserts the stub was not called with unexpected arguments. This assertion is a bit different because it is designed to be used with withArgs and needs to be called before the test case:
import assertStub from 'sinon-assert-stub';
import sinon from 'sinon';
const stub = sinon.stub();
stub.withArgs('foo').returns(true);
stub.withArgs('bar', 'zim').returns(true);
assertStub.notOtherwiseCalled(stub, 'stub');
stub('foo');
stub('bar', 'zim');