MagicMirror/tests/e2e/env_spec.js
2021-03-02 21:26:25 +01:00

62 lines
1.7 KiB
JavaScript

const helpers = require("./global-setup");
const fetch = require("node-fetch");
const expect = require("chai").expect;
const describe = global.describe;
const it = global.it;
const beforeEach = global.beforeEach;
const afterEach = global.afterEach;
describe("Electron app environment", function () {
helpers.setupTimeout(this);
var app = null;
before(function () {
// Set config sample for use in test
process.env.MM_CONFIG_FILE = "tests/configs/env.js";
});
beforeEach(function () {
return helpers
.startApplication({
args: ["js/electron.js"]
})
.then(function (startedApp) {
app = startedApp;
});
});
afterEach(function () {
return helpers.stopApplication(app);
});
it("should open a browserwindow", async function () {
await app.client.waitUntilWindowLoaded();
app.browserWindow.focus();
expect(await app.client.getWindowCount()).to.equal(1);
expect(await app.browserWindow.isMinimized()).to.be.false;
expect(await app.browserWindow.isDevToolsOpened()).to.be.false;
expect(await app.browserWindow.isVisible()).to.be.true;
expect(await app.browserWindow.isFocused()).to.be.true;
const bounds = await app.browserWindow.getBounds();
expect(bounds.width).to.be.above(0);
expect(bounds.height).to.be.above(0);
expect(await app.browserWindow.getTitle()).to.equal("MagicMirror²");
});
it("get request from http://localhost:8080 should return 200", function (done) {
fetch("http://localhost:8080").then((res) => {
expect(res.status).to.equal(200);
done();
});
});
it("get request from http://localhost:8080/nothing should return 404", function (done) {
fetch("http://localhost:8080/nothing").then((res) => {
expect(res.status).to.equal(404);
done();
});
});
});