MagicMirror/tests/unit/global_vars/root_path_spec.js

53 lines
1.4 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");
2017-01-24 12:22:43 +01:00
2021-06-06 23:13:09 +02:00
beforeAll(function () {
2021-04-08 21:12:56 +02:00
const basedir = path.join(__dirname, "../../..");
2017-01-25 22:42:04 +01:00
2021-04-08 21:12:56 +02:00
const fileName = "js/app.js";
const filePath = path.join(basedir, fileName);
const code = fs.readFileSync(filePath);
2017-01-25 22:42:04 +01:00
2021-06-06 23:13:09 +02:00
sandbox = {
2017-01-25 22:42:04 +01:00
module: {},
__dirname: path.dirname(filePath),
global: {},
process: {
2021-06-11 22:24:21 +02:00
on: function () {},
2017-01-25 22:42:04 +01:00
env: {}
}
};
2021-06-06 23:13:09 +02:00
sandbox.require = function (filename) {
2017-01-25 22:42:04 +01:00
// This modifies the global slightly,
// but supplies vm with essential code
return require(filename);
};
2017-01-25 11:58:20 +01:00
2021-06-06 23:13:09 +02:00
vm.runInNewContext(code, sandbox, fileName);
2017-01-25 22:42:04 +01:00
});
describe("'global.root_path' set in js/app.js", function () {
2021-04-08 21:12:56 +02:00
const expectedSubPaths = ["modules", "serveronly", "js", "js/app.js", "js/main.js", "js/electron.js", "config"];
2017-01-24 12:22:43 +01:00
expectedSubPaths.forEach((subpath) => {
it(`contains a file/folder "${subpath}"`, function () {
2021-06-08 00:47:15 +02:00
expect(fs.existsSync(path.join(sandbox.global.root_path, subpath))).toBe(true);
2017-01-24 12:22:43 +01:00
});
});
2017-01-25 22:42:04 +01:00
it("should not modify global.root_path for testing", function () {
2021-06-08 00:47:15 +02:00
expect(global.root_path).toBe(undefined);
2017-01-25 22:42:04 +01:00
});
it("should not modify global.version for testing", function () {
2021-06-08 00:47:15 +02:00
expect(global.version).toBe(undefined);
2017-01-25 22:42:04 +01:00
});
2017-02-07 19:35:51 -03:00
it("should expect the global.version equals package.json file", function () {
const versionPackage = JSON.parse(fs.readFileSync("package.json", "utf8")).version;
2021-06-08 00:47:15 +02:00
expect(sandbox.global.version).toBe(versionPackage);
2017-02-07 19:35:51 -03:00
});
2017-01-24 12:22:43 +01:00
});