test e2e module helloworld

This commit is contained in:
Rodrigo Ramírez Norambuena 2017-01-30 12:24:49 -03:00
parent 52b8dbcbb1
commit d474d518ca
4 changed files with 76 additions and 0 deletions

View File

@ -30,6 +30,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Icelandic Translation.
- 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
### Fixed
- Update .gitignore to not ignore default modules folder.

View File

@ -37,6 +37,7 @@
"grunt-stylelint": "latest",
"grunt-yamllint": "latest",
"mocha": "^3.2.0",
"spectron": "^3.4.1",
"stylelint-config-standard": "latest",
"time-grunt": "latest"
},

32
tests/confs/helloworld.js Normal file
View File

@ -0,0 +1,32 @@
/* Magic Mirror Test config sample module hello world
*
* 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: [
{
module: "helloworld",
position: "bottom_bar",
config: {
text: "Test HelloWorld Module"
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}

View File

@ -0,0 +1,42 @@
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/helloworld.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 helloworld module', function () {
this.timeout(10000);
beforeEach(function (done) {
app.start().then(function() { done(); } );
});
afterEach(function (done) {
app.stop().then(function() { done(); });
});
it('Test message helloworld module', function () {
return app.client.waitUntilWindowLoaded()
.getText('.helloworld').should.eventually.equal('Test HelloWorld Module');
});
});