Added e2e test for font files

This commit is contained in:
Bas van Wetten 2017-08-21 14:44:47 +02:00
parent 96e71695c5
commit 5b9a61b7db
2 changed files with 54 additions and 1 deletions

View File

@ -45,8 +45,9 @@
"http-auth": "^3.1.3",
"jshint": "^2.9.4",
"mocha": "^3.4.2",
"stylelint": "^8.0.0",
"mocha-each": "^1.1.0",
"spectron": "3.6.x",
"stylelint": "^8.0.0",
"stylelint-config-standard": "latest",
"time-grunt": "latest"
},

52
tests/e2e/fonts.js Normal file
View File

@ -0,0 +1,52 @@
const helpers = require("./global-setup");
const path = require("path");
const request = require("request");
const expect = require("chai").expect;
const describe = global.describe;
const it = global.it;
const beforeEach = global.beforeEach;
const afterEach = global.afterEach;
const forEach = require("mocha-each");
describe("All font files from roboto.css should be downloadable", function() {
helpers.setupTimeout(this);
var fontFiles = [];
// Statements below filters out all 'url' lines in the CSS file
var fileContent = require("fs").readFileSync(__dirname + "/../../fonts/roboto.css", "utf8");
var regex = /\burl\(['"]([^'"]+)['"]\)/g;
var 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);
}
before(function() {
// Set config sample for use in test
process.env.MM_CONFIG_FILE = "tests/configs/without_modules.js";
return helpers
.startApplication({
args: ["js/electron.js"]
})
.then(function(startedApp) {
app = startedApp;
});
});
after(function() {
return helpers.stopApplication(app);
});
forEach(fontFiles).it("should return 200 HTTP code for file '%s'", (fontFile, done) => {
var fontUrl = "http://localhost:8080/fonts/" + fontFile;
request.get(fontUrl, function(err, res, body) {
expect(res.statusCode).to.equal(200);
done();
});
});
});