mock-property

v1.1.0
Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.
testing mock object property value descriptor test delete define and 1 more...

mock-property Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.

Example

var mockProperty = require('mock-property');
var assert = require('assert');

var i = 0;
var object = {
    a: 1,
    get b() {
        i += 1;
        return 'b ' + i;
    }
};

assert.equal(object.a, 1);
assert.equal(object.b, 'b 1');
assert.equal(object.b, 'b 2');

var restoreA = mockProperty(object, 'a', { 'delete': true });
assert.equal('a' in object, false);

var restoreB = mockProperty(object, 'b', { value: 42 });
assert.equal(object.b, 42);

restoreA();
assert.equal('a' in object, true);

restoreB();
assert.equal(object.b, 'b 3');

Tests

Simply clone the repo, npm install, and run npm test

Security

Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.

npm i mock-property

Metadata

  • MIT
  • >= 0.4
  • Jordan Harband
  • released 8/6/2024

Downloads

Maintainers