diff --git a/server/modulas.js b/server/modulas.js index 4dd245a1..1b32dffa 100644 --- a/server/modulas.js +++ b/server/modulas.js @@ -3,8 +3,8 @@ const deepmerge = require('deepmerge'); const originalModules = require('../json/modules'); -module.exports = (modules = {}) => { - const result = deepmerge(originalModules, modules); +module.exports = (modules) => { + const result = deepmerge(originalModules, modules || {}); return (req, res, next) => { if (req.url !== '/json/modules.json') diff --git a/test/server/modulas.js b/test/server/modulas.js index 3f7e08b9..80a7396b 100644 --- a/test/server/modulas.js +++ b/test/server/modulas.js @@ -3,12 +3,18 @@ const path = require('path'); const test = require('tape'); +const diff = require('sinon-called-with-diff'); +const sinon = diff(require('sinon')); + const promisify = require('es6-promisify'); const pullout = require('pullout'); const request = require('request'); -const modulesPath = path.join(__dirname, '..', '..', 'json', 'modules.json'); +const dir = path.join(__dirname, '..', '..'); +const modulesPath = path.join(dir, 'json', 'modules.json'); + const localModules = require(modulesPath); +const modulas = require(`${dir}/server/modulas`); const warp = (fn, ...a) => (...b) => fn(...b, ...a); const _pullout = promisify(pullout); @@ -65,3 +71,16 @@ test('cloudcmd: modules: wrong route', (t) => { }); }); +test('cloudcmd: modules: no', (t) => { + const fn = modulas(); + const url = '/json/modules.json'; + const send = sinon.stub(); + + fn({url}, { + send + }); + + t.ok(send.calledWith(localModules), 'should have been called with modules'); + t.end(); +}); +