snoop
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    snoop 🎵

    Easy breezy test spies fo sheezy.

    Snoop Dogg

    npm npm

    Install

    npm install --save-dev snoop

    Usage

    Snoop collaborates with everyone.

    With uvu

    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();

    Keywords

    none

    Install

    npm i snoop

    DownloadsWeekly Downloads

    1,196

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    186 kB

    Total Files

    8

    Last publish

    Collaborators

    • therealparmesh