Files
DefinitelyTyped/mock-require/mock-require-tests.ts
2016-08-18 09:50:21 -05:00

47 lines
963 B
TypeScript

/// <reference path="mock-require.d.ts" />
import mock = require('mock-require');
function testMock() {
mock('http', {
request: function () {
console.log('http.request called');
}
});
const http = require('http');
http.request(); // 'http.request called'
}
function testStop() {
mock('fs', { mockedFS: true });
const fs1 = require('fs');
mock.stop('fs');
const fs2 = require('fs');
fs1 === fs2; // false
}
function testStopAll() {
mock('fs', {});
mock('path', {});
const fs1 = require('fs');
const path1 = require('path');
mock.stopAll();
const fs2 = require('fs');
const path2 = require('path');
fs1 === fs2; // false
path1 === path2; // false
}
function testReRequire() {
const fs = require('fs');
let fileToTest = require('./fileToTest');
mock('fs', {}); // fileToTest is still using the unmocked fs module
fileToTest = mock.reRequire('./fileToTest'); // fileToTest is now using your mock
}