UNPKG

snoop

Version:
56 lines (41 loc) 1.31 kB
# snoop 🎵 > Easy breezy test spies fo sheezy. ![Snoop Dogg](./snoop.gif) [![npm](https://img.shields.io/npm/v/snoop.svg)](https://www.npmjs.com/package/snoop) [![npm](https://img.shields.io/npm/dt/snoop.svg)](https://www.npmjs.com/package/snoop) ## Install ```sh npm install --save-dev snoop ``` ## Usage Snoop collaborates with everyone. ### With [uvu](https://github.com/lukeed/uvu) ```js import { snoop } from 'snoop'; import { test } from 'uvu'; import * as assert from 'uvu/assert'; const add = (a, b) => a + b; test('add', () => { const addFn = snoop(add); const anotherAddFn = snoop(add); addFn.fn(1, 1); anotherAddFn.fn(1, 1); addFn.fn(2, 2); anotherAddFn.fn(2, 2); assert.ok(addFn.called); assert.not(addFn.notCalled); assert.not(addFn.calledOnce); assert.is(addFn.callCount, 2); assert.equal(addFn.calls[0].arguments, [1, 1]); assert.equal(addFn.calls[1].arguments, [2, 2]); assert.is(addFn.calls[0].result, 2); assert.is(addFn.calls[1].result, 4); assert.not(addFn.firstCall.error); assert.not(addFn.lastCall.error); assert.ok(addFn.calledBefore(anotherAddFn)); assert.ok(addFn.calledAfter(anotherAddFn)); assert.ok(addFn.calledImmediatelyBefore(anotherAddFn)); assert.not(addFn.calledImmediatelyAfter(anotherAddFn)); }); test.run(); ```