UNPKG

mockery

Version:

Simplifying the use of mocks with Node.js

72 lines (58 loc) 2.29 kB
var vows = require('vows'), assert = require('assert'), mockery = require('../mockery'), sinon = require('sinon'); var tests = { teardown: function () { mockery.disable(); mockery.deregisterAll(); }, "when nothing is registered": { topic: function () { mockery.enable(); mockery.registerAllowable('../package.json', true); require('../package.json'); return null; }, "requiring a module causes a warning to be logged": function () { var mock_console, fake_module; mock_console = sinon.mock(console); mock_console.expects('warn').once(); fake_module = require('./fixtures/fake_module'); assert.equal(fake_module.foo(), 'real foo'); mock_console.verify(); mock_console.restore(); }, "and warnings are disabled": { topic: function () { mockery.warnOnUnregistered(false); return null; }, "requiring a module causes no warning to be logged": function (test) { var mock_console, fake_module; mock_console = sinon.mock(console); mock_console.expects('warn').never(); fake_module = require('./fixtures/fake_module'); assert.equal(fake_module.foo(), 'real foo'); mock_console.verify(); mock_console.restore(); }, "and warnings are reenabled": { topic: function (callback) { mockery.warnOnUnregistered(true); return null; }, "requiring a module causes a warning to be logged": function () { var mock_console, fake_module; mock_console = sinon.mock(console); mock_console.expects('warn').once(); fake_module = require('./fixtures/fake_module'); assert.equal(fake_module.foo(), 'real foo'); mock_console.verify(); mock_console.restore(); } } } } }; vows.describe('logging').addBatch(tests).export(module);