0.0.2 • Published 11 years ago

007 v0.0.2

Weekly downloads
67
License
-
Repository
github
Last release
11 years ago

007

Returns a deep copy of an object with all functions converted to spies.

Install

Install with npm:

npm install 007

Example

// we want to test github
var github = require('github');
var doubleOhSeven = require('007');
var mockGithub = doubleOhSeven(github);

mockGithub.pullRequests.getCommits.returns = function () {
  return {
    foo: 'beep'
  };
};

assert(mockGithub.pullRequests.getCommits('lalala').foo === 'beep');
assert(mockGithub.pullRequests.getCommits.callCount === 1);

API

doubleOhSeven()

Takes an object or function as an argument, returns a function or object matching the original, but with mocked out functions.

mockFn.implementation

The implementation of the mock function. Set with =:

Ex:

mockFn.implementation = function (val, cb) {
  return cb(val + 1);
};

The following functions are helpers for implementation; using them will override mockFn.implementation.

mockFn.returns()

The return value of the mock.

Ex:

mockFn.returns('foo');
mockFn(function (arg) {
  console.log(arg); // outputs 'foo'
});

mockFn.callbackArgs

The callback args to be invoked by the mock.

Ex:

mockFn.callbackArgs(['foo']);
mockFn(function (arg) {
  console.log(arg); // outputs 'foo'
});

License

MIT

0.0.2

11 years ago

0.0.1

11 years ago

0.0.0

11 years ago