MagicMirror/tests/e2e/fonts.js
Karsten Hassel 9969fede35 refactor e2e
2021-09-16 23:02:17 +02:00

33 lines
1011 B
JavaScript

const fetch = require("node-fetch");
const helpers = require("./global-setup");
let app = null;
describe("All font files from roboto.css should be downloadable", function () {
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(function () {
app = helpers.startApplication("tests/configs/without_modules.js");
});
afterAll(function () {
helpers.stopApplication(app);
});
test.each(fontFiles)("should return 200 HTTP code for file '%s'", (fontFile, done) => {
const fontUrl = "http://localhost:8080/fonts/" + fontFile;
fetch(fontUrl).then((res) => {
expect(res.status).toBe(200);
done();
});
});
});