mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 19:53:36 +00:00
When trying to debug why the tests broke for https://github.com/MichMich/MagicMirror/pull/2946 I found that the tests does not wait for the app to start and close. So if the startup isn't blocking that would fail. So I added a callback for `close()` too and converted them to promises for the `startApplication()` and `stopApplication()` and updated all the e2e tests to await both. Will try to refactor all these callbacks to promises in a later PR.
29 lines
956 B
JavaScript
29 lines
956 B
JavaScript
const helpers = require("./helpers/global-setup");
|
|
|
|
describe("All font files from roboto.css should be downloadable", () => {
|
|
const fontFiles = [];
|
|
// Statements below filters out all 'url' lines in the CSS file
|
|
const fileContent = require("fs").readFileSync(__dirname + "/../../fonts/roboto.css", "utf8");
|
|
const regex = /\burl\(['"]([^'"]+)['"]\)/g;
|
|
let match = regex.exec(fileContent);
|
|
while (match !== null) {
|
|
// Push 1st match group onto fontFiles stack
|
|
fontFiles.push(match[1]);
|
|
// Find the next one
|
|
match = regex.exec(fileContent);
|
|
}
|
|
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/without_modules.js");
|
|
});
|
|
afterAll(async () => {
|
|
await helpers.stopApplication();
|
|
});
|
|
|
|
test.each(fontFiles)("should return 200 HTTP code for file '%s'", async (fontFile) => {
|
|
const fontUrl = "http://localhost:8080/fonts/" + fontFile;
|
|
const res = await helpers.fetch(fontUrl);
|
|
expect(res.status).toBe(200);
|
|
});
|
|
});
|