stu
Version:
Stub dependencies when testing
47 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = __importDefault(require("ava"));
const mockObject_1 = __importDefault(require("./mockObject"));
ava_1.default('should mock all functions in an object', (t) => {
const obj = {
fn: () => null,
string: 'string',
number: 123,
bool: true,
obj: {
fn2: () => null,
},
ignore: true,
};
const keys = ['fn', 'string', 'number', 'bool', 'obj'];
const mocked = mockObject_1.default(obj, keys);
t.is(typeof mocked, 'object');
t.is(mocked.fn.isSinonProxy, true);
t.is(mocked.string, 'string');
t.is(mocked.number, 123);
t.is(mocked.bool, true);
t.is(typeof mocked.obj, 'object');
t.is(mocked.obj.fn2.isSinonProxy, true);
t.is(mocked.ignore, undefined);
});
ava_1.default('should mock circular references', (t) => {
class Circular {
constructor(name) {
this.self = this;
this.name = `Circular(${name})`;
}
}
const circular = new Circular('test');
const mocked = mockObject_1.default(circular, ['name', 'self']);
t.deepEqual(mocked, {
name: 'Circular(test)',
self: {
name: 'Circular(test)',
self: null,
},
});
});
//# sourceMappingURL=mockObject.spec.js.map