summaryrefslogtreecommitdiffstats
path: root/lib/output/generateMock.js
blob: b779e32d12d6f3c957496b4ca041953b7339e67d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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<String:String|Map>} files
    @return {Promise<String>}
*/
function generateMock(Generator, files) {
    var fs = createMockFS(files);
    var book = Book.createForFS(fs);
    var dir = tmp.dirSync();

    return parseBook(book)
    .then(function(resultBook) {
        return generateBook(Generator, resultBook, {
            root: dir.name
        });
    })
    .thenResolve(dir.name);
}

module.exports = generateMock;