Skip to content

Mock object methods and properties

License

Notifications You must be signed in to change notification settings

node-modules/muk-prop.js

 
 

Repository files navigation

@cnpmjs/muk-prop

NPM version Node.js CI codecov npm download Node.js Version

muk

Usage

Object method mocking.

const fs = require('fs');
const { muk } = require('@cnpmjs/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('@cnpmjs/muk-prop');

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

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

Check if member has been mocked.

const { isMocked } = require('@cnpmjs/muk-prop');

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

Restore all mocked methods/props after tests.

const { restore } = require('@cnpmjs/muk-prop');

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

Install

npm install @cnpmjs/muk-prop

Tests

Tests are written with mocha

npm test

Contributors

Contributors

Made with contributors-img.

About

Mock object methods and properties

Resources

License

Stars

Watchers

Forks

Languages

  • TypeScript 100.0%