add test parts of day for compliments module

This commit is contained in:
Rodrigo Ramírez Norambuena 2017-02-05 19:35:33 -03:00
parent fd738e5c8b
commit 6fcaec3ca8
3 changed files with 101 additions and 0 deletions

View File

@ -42,6 +42,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Add `chai-as-promised` npm module to devDependencies - Add `chai-as-promised` npm module to devDependencies
- Basic set of tests for clock module - Basic set of tests for clock module
- Run e2e test in Travis - Run e2e test in Travis
- Add test for compliments module for parts of day
### Fixed ### Fixed
- Update .gitignore to not ignore default modules folder. - Update .gitignore to not ignore default modules folder.

View File

@ -0,0 +1,42 @@
/* Magic Mirror Test config for default compliments
*
* 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: 12,
units: "metric",
electronOptions: {
webPreferences: {
nodeIntegration: true,
},
},
modules: [
{
module: "compliments",
position: "middle_center",
config: {
compliments: {
morning: [
"Morning test"
],
afternoon: [
"Afternoon test"
],
evening: [
"Evening test"
]
}
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}

View File

@ -0,0 +1,58 @@
const Application = require("spectron").Application;
const path = require("path");
const chai = require("chai");
const chaiAsPromised = require("chai-as-promised");
const moment = require("../../../vendor/moment/moment-with-locales.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("Compliments module", function () {
this.timeout(10000);
describe("parts of days", function() {
before(function() {
// Set config sample for use in test
process.env.MM_CONFIG_FILE = "tests/configs/modules/compliments/compliments_parts_day.js";
});
beforeEach(function (done) {
app.start().then(function() { done(); } );
});
afterEach(function (done) {
app.stop().then(function() { done(); });
});
it("shows correct compliments for part of day", function () {
var hour = moment().hour();
if (hour >= 3 && hour < 12) {
compliment = "Morning test";
} else if (hour >= 12 && hour < 17) {
compliment = "Afternoon test";
} else {
compliment = "Evening test";
}
return app.client.waitUntilWindowLoaded()
.getText(".compliments").should.eventually.equal(compliment);
});
});
});