johnny-cli
Version:
CLI for Johnny Deps
22 lines (15 loc) • 587 B
JavaScript
const
fs = jest.genMockFromModule('fs');
let
mockFileSystem = Object.create(null);
fs.__setMockFiles = mockFiles => mockFileSystem = mockFiles;
fs.readdirSync = directoryPath => mockFileSystem[directoryPath] || [];
fs.readFileSync = filePath => mockFileSystem[filePath];
fs.mkdirSync = function(directoryPath) {
const
noTrailingSlashPath = directoryPath.replace(/\/$/, '');
if(mockFileSystem[noTrailingSlashPath] !== undefined || mockFileSystem[`${noTrailingSlashPath}/`] !== undefined)
throw 'Directory exists';
mockFileSystem[directoryPath] = {};
}
module.exports = fs;