DefinitelyTyped/types/mock-require/mock-require-tests.ts
2017-03-24 14:27:52 -07:00

45 lines
919 B
TypeScript

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
}