From aeac837da4718c5dd670faed23bc8d644bf60c37 Mon Sep 17 00:00:00 2001 From: Karsten Hassel Date: Wed, 18 Sep 2024 23:54:54 +0200 Subject: [PATCH] added test for `MM_MODULES_DIR`, uses newsfeed test after copying this module to config dir --- CHANGELOG.md | 2 +- tests/e2e/modules/newsfeed_spec.js | 31 +++++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1249adca22..de8be1d58f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ _This release is scheduled to be released on 2024-10-01._ - [core] Check config at every start of MagicMirror² (#3450) - [core] Add spelling check (cspell): `npm run test:spelling` and handle spelling issues (#3544) -- [core] removed `config.paths.vendor` (could not work because `vendor` is hardcoded in `index.html`), renamed `config.paths.modules` to `config.foreignModulesDir`, added variable `MM_CUSTOMCSS_FILE` which - if set - overrides `config.customCss`, added variable `MM_MODULES_DIR` which - if set - overrides `config.foreignModulesDir` (#3530) +- [core] removed `config.paths.vendor` (could not work because `vendor` is hardcoded in `index.html`), renamed `config.paths.modules` to `config.foreignModulesDir`, added variable `MM_CUSTOMCSS_FILE` which - if set - overrides `config.customCss`, added variable `MM_MODULES_DIR` which - if set - overrides `config.foreignModulesDir`, added test for `MM_MODULES_DIR` (#3530) - [core] elements are now removed from `index.html` when loading script or stylesheet files fails - [core] Added `DOM_OBJECTS_UPDATED` notification each time the DOM is re-rendered via `updateDom` (#3534) diff --git a/tests/e2e/modules/newsfeed_spec.js b/tests/e2e/modules/newsfeed_spec.js index 141b880661..e3a9c79099 100644 --- a/tests/e2e/modules/newsfeed_spec.js +++ b/tests/e2e/modules/newsfeed_spec.js @@ -1,10 +1,7 @@ +const fs = require("node:fs"); const helpers = require("../helpers/global-setup"); -describe("Newsfeed module", () => { - afterAll(async () => { - await helpers.stopApplication(); - }); - +const runTests = async () => { describe("Default configuration", () => { beforeAll(async () => { await helpers.startApplication("tests/configs/modules/newsfeed/default.js"); @@ -74,4 +71,28 @@ describe("Newsfeed module", () => { expect(elem.textContent).toContain("No news at the moment."); }); }); +}; + +describe("Newsfeed module", () => { + afterAll(async () => { + await helpers.stopApplication(); + }); + + runTests(); +}); + +describe("Newsfeed module located in config directory", () => { + beforeAll(async () => { + const baseDir = `${__dirname}/../../..`; + if (!fs.existsSync(`${baseDir}/config/newsfeed`)) { + await fs.cp(`${baseDir}/modules/default/newsfeed`, `${baseDir}/config/newsfeed`, { recursive: true }, (err) => err && console.error(err)); + } + process.env.MM_MODULES_DIR = "config"; + }); + + afterAll(async () => { + await helpers.stopApplication(); + }); + + runTests(); });