var tmp = require('tmp'); var Book = require('../models/book'); var createMockFS = require('../fs/mock'); var parseBook = require('../parse/parseBook'); var generateBook = require('./generateBook'); /** Generate a book using JSON generator And returns the path to the output dir. FOR TESTING PURPOSE ONLY @param {Generator} @param {Map} files @return {Promise} */ function generateMock(Generator, files) { var fs = createMockFS(files); var book = Book.createForFS(fs); var dir; try { dir = tmp.dirSync(); } catch(err) { throw err; } book = book.setLogLevel('disabled'); return parseBook(book) .then(function(resultBook) { return generateBook(Generator, resultBook, { root: dir.name }); }) .thenResolve(dir.name); } module.exports = generateMock;