diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c6b1a48..17da5a9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Add use a script to prevent when is run by SSH session set DISPLAY enviroment. - Enable ability to set configuration file by the enviroment variable called MM_CONFIG_FILE. - Add test e2e helloworld +- Add test e2e enviroment ### Fixed - Update .gitignore to not ignore default modules folder. diff --git a/tests/confs/env.js b/tests/confs/env.js new file mode 100644 index 00000000..252934d7 --- /dev/null +++ b/tests/confs/env.js @@ -0,0 +1,25 @@ +/* Magic Mirror Test config sample enviroment + * + * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com + * MIT Licensed. + */ + +var config = { + port: 8080, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + + language: "en", + timeFormat: 24, + units: "metric", + electronOptions: { + webPreferences: { + nodeIntegration: true, + }, + }, + + modules: [ + ] +}; + +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") {module.exports = config;} diff --git a/tests/e2e/env.js b/tests/e2e/env.js new file mode 100644 index 00000000..0046ddec --- /dev/null +++ b/tests/e2e/env.js @@ -0,0 +1,49 @@ +const Application = require("spectron").Application; +const path = require('path'); +const chai = require('chai'); +const chaiAsPromised = require('chai-as-promised'); + +// Set config sample for use in test +process.env.MM_CONFIG_FILE = 'tests/confs/env.js'; + +var electronPath = path.join(__dirname, '../../', 'node_modules', '.bin', 'electron'); + +if (process.platform === 'win32') { + electronPath += '.cmd'; +} + +var appPath = path.join(__dirname, '../../js/electron.js'); + +var app = new Application({ + path: electronPath, + args: [appPath] +}); + +global.before(function () { + chai.should(); + chai.use(chaiAsPromised); +}); + +describe('Test enviroment app electron', function () { + this.timeout(10000); + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + + it('open a window app and test if is open', function () { + return app.client.waitUntilWindowLoaded() + .getWindowCount().should.eventually.equal(1); + }); + + it('tests the title', function () { + return app.client.waitUntilWindowLoaded() + .getTitle().should.eventually.equal('Magic Mirror'); + }); + +});