From 5d7cfc1c1087ee8faebbc171a8f775ce731dfe74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 25 Mar 2017 19:00:36 -0300 Subject: [PATCH] test for modules set in modules/default/defaultmodules.js --- .../unit/global_vars/defaults_modules_spec.js | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tests/unit/global_vars/defaults_modules_spec.js diff --git a/tests/unit/global_vars/defaults_modules_spec.js b/tests/unit/global_vars/defaults_modules_spec.js new file mode 100644 index 00000000..f3ef7fcb --- /dev/null +++ b/tests/unit/global_vars/defaults_modules_spec.js @@ -0,0 +1,60 @@ +var fs = require("fs"); +var path = require("path"); +var chai = require("chai"); +var expect = chai.expect; +var vm = require("vm"); + +before(function() { + var basedir = path.join(__dirname, "../../.."); + + var fileName = "js/app.js"; + var filePath = path.join(basedir, fileName); + var code = fs.readFileSync(filePath); + + this.sandbox = { + module: {}, + __dirname: path.dirname(filePath), + global: {}, + console: { + log: function() { /*console.log("console.log(", arguments, ")");*/ } + }, + process: { + on: function() { /*console.log("process.on called with: ", arguments);*/ }, + env: {} + } + }; + + this.sandbox.require = function(filename) { + // This modifies the global slightly, + // but supplies vm with essential code + return require(filename); + }; + + vm.runInNewContext(code, this.sandbox, fileName); +}); + +after(function() { + //console.log(global); +}); + +describe("Default modules set in modules/default/defaultmodules.js", function() { + + var expectedDefaultModules = [ + "alert", + "calendar", + "clock", + "compliments", + "currentweather", + "helloworld", + "newsfeed", + "weatherforecast", + "updatenotification" + ]; + + expectedDefaultModules.forEach(defaultModule => { + it(`contains default module "${defaultModule}"`, function() { + expect(this.sandbox.defaultModules).to.include(defaultModule); + }); + }); + +});