supertape stub operator
npm install @supertape/operator-stub[NPMIMGURL]: https://img.shields.io/npm/v/supertape.svg?style=flat&longCache=true
[BuildStatusIMGURL]: https://img.shields.io/travis/coderaiser/supertape/master.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/supertape "npm"
[BuildStatusURL]: https://travis-ci.org/coderaiser/supertape "Build Status"
[CoverageURL]: https://coveralls.io/github/coderaiser/supertape?branch=master
[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/supertape/badge.svg?branch=master&service=github
supertape operator simplifies work with @cloudcmd/stub.
```
npm i @supertape/operator-stub -D
Adds next operators to work with:
`js
import test, {stub} from 'supertape';
test('function call', (t) => {
const fn = stub();
fn('hello', 'world');
t.calledWith(fn, ['hello', 'world'], 'fn should be called with "hello", "world"');
t.end();
});
`
`js
import test, {stub} from 'supertape';
test('function called with no args', (t) => {
const fn = stub();
fn();
t.calledWithNoArgs(fn);
t.end();
});
`
`js
import test, {stub} from 'supertape';
test('function called count', (t) => {
const fn = stub();
fn();
fn();
t.calledCount(fn, 2);
t.end();
});
`
`js
import test, {stub} from 'supertape';
test('function called once', (t) => {
const fn = stub();
fn('hello');
t.calledOnce(fn);
t.end();
});
`
`js
import test, {stub} from 'supertape';
test('function called twice', (t) => {
const fn = stub();
fn('hello');
fn('world');
t.calledTwice(fn);
t.end();
});
`
`js
import test, {stub} from 'supertape';
test('function called with new', (t) => {
const fn = stub();
new fn();
t.calledWithNew(fn);
t.end();
});
`
Check that fn1 called before fn2.
Do not forget to set names of stubs.
`js
import test, {stub} from 'supertape';
test('function called with new', (t) => {
const init = stub().withName('init');
const show = stub().withName('show');
init();
show();
t.calledBefore(show, init);
t.end();
});
`
Check that fn1 called after fn2.
Do not forget to set names of stubs.
`js
import test, {stub} from 'supertape';
test('function called with new', (t) => {
const init = stub().withName('init');
const show = stub().withName('show');
init();
show();
t.calledAfter(init, show);
t.end();
});
`
Check that array of stubs fns called in order;
Do not forget to set names of stubs.
`js
import test, {stub} from 'supertape';
test('function called with new', (t) => {
const init = stub().withName('init');
const show = stub().withName('show');
init();
show();
t.calledInOrder([init, show]);
t.end();
});
``
MIT