@supertape/operator-stub
v3.1.0
Published
supertape stub operator
Downloads
1,185
Maintainers
Readme
@supertape/operator-stub
supertape
operator simplifies work with @cloudcmd/stub.
Install
npm i @supertape/operator-stub -D
Operators
Adds next operators to work with:
t.calledWith(fn, args [, message])
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();
});
t.calledWithNoArgs(fn[, message])
import test, {stub} from 'supertape';
test('function called with no args', (t) => {
const fn = stub();
fn();
t.calledWithNoArgs(fn);
t.end();
});
t.calledCount(fn, count[, message])
import test, {stub} from 'supertape';
test('function called count', (t) => {
const fn = stub();
fn();
fn();
t.calledCount(fn, 2);
t.end();
});
t.calledOnce(fn [, message])
import test, {stub} from 'supertape';
test('function called once', (t) => {
const fn = stub();
fn('hello');
t.calledOnce(fn);
t.end();
});
t.calledTwice(fn, count[, message])
import test, {stub} from 'supertape';
test('function called twice', (t) => {
const fn = stub();
fn('hello');
fn('world');
t.calledTwice(fn);
t.end();
});
t.calledWithNew(fn, count[, message])
import test, {stub} from 'supertape';
test('function called with new', (t) => {
const fn = stub();
new fn();
t.calledWithNew(fn);
t.end();
});
t.calledBefore(fn1, fn2[, message])
Check that fn1
called before fn2
.
Do not forget to set names of stubs.
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();
});
t.calledAfter(fn1, fn2[, message])
Check that fn1
called after fn2
.
Do not forget to set names of stubs.
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();
});
t.calledInOrder([fn1, fn2, fnN][, message])
Check that array of stubs fns
called in order;
Do not forget to set names of stubs.
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();
});
License
MIT