espionage

1.0.0 • Public • Published

Espionage

Dependency Status

Standalone library for creating spies in Node.js. Easy to use. No dependancies.

  • Minimal
  • Simple API
  • No dependencies
  • No global variables
  • No prototype modification
npm install espionage

Usage

Espionage exports two functions for creating spies.

espionage.spyOn

Accepts a function. Returns a spy. When called, the returned spy returns the same value as the given function.

var espionage = require('espionage');

function add5(num) {
  return num + 5;
}

var spy = espionage.spyOn(add5); // returns a spy

spy(2); // returns 7

espionage.createSpy

Doesn't accept arguments. Returns a spy. The spy returns undefined.

var espionage = require('espionage');

var spy = espionage.createSpy(); // returns a spy

spy(); // returns undefined

Spies

The functions espionage.spyOn() and espionage.createSpy both return a spy. Spies have these methods:

spy.callCount

Doesn't accept arguments. Returns the number of times the spy has been called.

var spy = espionage.createSpy();

spy();
spy();

spy.callCount(); // returns 2

spy.wasCalled

Doesn't accept arguments. Returns a boolean indicating if the spy has been called.

var spy = espionage.createSpy();

spy();

spy.wasCalled(); // returns true

spy.wasCalledWith

Accepts a single argument. Returns a boolean indicating if the spy has been called with the given argument.

function add2(num) {
  return num + 2;
}

var spy = espionage.spyOn(add2);

spy(2);

spy.wasCalledWith(2); // returns true

spy.returned

Accepts a single argument. Returns a boolean indicating if the spy has been called with the given argument.

function add2(num) {
  return num + 2;
}

var spy = espionage.spyOn(add2);

spy(2);

spy.returned(4); // returns true

Running tests

npm test

License

MIT. Copyright (c) Sterling Whitley

Icon made by Freepik from Flaticon is licensed under CC BY 3.0

Package Sidebar

Install

npm i espionage

Weekly Downloads

5

Version

1.0.0

License

MIT

Last publish

Collaborators

  • sterlingw