diff options
Diffstat (limited to 'lib/output/__tests__/generateMock.js')
-rw-r--r-- | lib/output/__tests__/generateMock.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/output/__tests__/generateMock.js b/lib/output/__tests__/generateMock.js new file mode 100644 index 0000000..691ee2d --- /dev/null +++ b/lib/output/__tests__/generateMock.js @@ -0,0 +1,40 @@ +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 a generator + * And returns the path to the output dir. + * + * FOR TESTING PURPOSE ONLY + * + * @param {Generator} + * @param {Map<String:String|Map>} files + * @return {Promise<String>} + */ +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; |