MagicMirror/tests/unit/global_vars/defaults_modules_spec.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-04-19 08:18:11 +02:00
const fs = require("fs");
const path = require("path");
const vm = require("vm");
2021-01-05 20:04:02 +01:00
const basedir = path.join(__dirname, "../../..");
2021-06-06 23:13:09 +02:00
beforeAll(function () {
2021-01-05 20:04:02 +01:00
const fileName = "js/app.js";
const filePath = path.join(basedir, fileName);
const code = fs.readFileSync(filePath);
2021-06-06 23:13:09 +02:00
sandbox = {
module: {},
__dirname: path.dirname(filePath),
global: {},
process: {
2021-06-11 22:24:21 +02:00
on: function () {},
env: {}
}
};
2021-06-06 23:13:09 +02:00
sandbox.require = function (filename) {
// This modifies the global slightly,
// but supplies vm with essential code
if (filename === "logger") {
return require("../mocks/logger.js");
} else {
try {
return require(filename);
} catch {
// ignore
};
};
};
2021-06-06 23:13:09 +02:00
vm.runInNewContext(code, sandbox, fileName);
});
describe("Default modules set in modules/default/defaultmodules.js", function () {
2021-01-05 20:04:02 +01:00
const expectedDefaultModules = require("../../../modules/default/defaultmodules");
2021-01-05 20:04:02 +01:00
for (const defaultModule of expectedDefaultModules) {
it(`contains a folder for modules/default/${defaultModule}"`, function () {
2021-06-08 00:47:15 +02:00
expect(fs.existsSync(path.join(sandbox.global.root_path, "modules/default", defaultModule))).toBe(true);
2017-03-25 23:52:18 -03:00
});
2021-01-05 20:04:02 +01:00
}
});