/muk-prop.js

Mock object methods and properties

Primary LanguageJavaScriptMIT LicenseMIT

muk-prop.js

Build Status Dependency Status codecov

muk

Usage

Object method mocking.

const fs = require('fs');
const muk = require('muk-prop');

muk(fs, 'readFile', (path, callback) => {
  process.nextTick(callback.bind(null, null, 'file contents here'));
});

Object props mocking with setter/getter.

const muk = require('muk-prop');

const obj = { _a: 1 };
const mockObj = {};
Object.defineProperty(mockObj, 'a', {
  set: (val) => obj._a = val * 2,,
  get: () => obj._a, 
});
muk(obj, 'a', mockObj.a);

obj.a = 2;
console.log(obj.a); // 4

Check if member has been mocked.

muk.isMocked(fs, 'readFile'); // true

Restore all mocked methods/props after tests.

muk.restore();

fs.readFile(file, (err, data) => {
  // will actually read from `file`
});

Install

npm install muk-prop

Tests

Tests are written with mocha

npm test