UNPKG

1.25 kBJavaScriptView Raw
1var fs = require('fs');
2var extend = require('node.extend');
3var jsonCascade = require('json-cascade');
4
5var globals = require('./globals');
6var config = require(globals.appPath + '/config.json');
7var util = require('../js/util');
8var getState = require('../js/get-state');
9
10var getIntersection = require('../js/get-intersection');
11var dummyDataGenerator = require('../js/dummy-data-generator');
12
13var reqParsers = require('../js/req-parsers');
14
15
16module.exports = function(serviceDir, stateConfig, reqBody) {
17
18 var template = util.getServiceTemplate(serviceDir, stateConfig.template);
19 var reqData = reqParsers(stateConfig.reqParser)(template, reqBody);
20 var genData = dummyDataGenerator(stateConfig.mockGenerator)(reqBody);
21 var stateData = util.getServiceDiff(serviceDir, stateConfig.diff);
22
23 // We build the response by combining the various sources of mock data in a cascading manner.
24 // Order of precedence from High to Low:
25 //
26 // Highest: State data
27 // Generated data
28 // Request data
29 // Lowest: Template data
30 //
31 //var response = extend(true, {}, template, reqData, genData, stateData);
32 var response = jsonCascade(template, reqData, genData, stateData);
33
34 return response;
35};