Merge pull request #689 from roramirez/test-compliments

add test parts of day for compliments module
This commit is contained in:
Michael Teeuw 2017-02-08 09:14:23 +01:00 committed by GitHub
commit 0f0a71a109
3 changed files with 121 additions and 0 deletions

View File

@ -43,6 +43,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: [
"Hi", "Good Morning", "Morning test"
],
afternoon: [
"Hello", "Good Afternoon", "Afternoon test"
],
evening: [
"Hello There", "Good Evening", "Evening test"
]
}
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}

View File

@ -0,0 +1,78 @@
const Application = require("spectron").Application;
const path = require("path");
const chai = require("chai");
const expect = chai.expect;
const chaiAsPromised = require("chai-as-promised");
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("if Morning compliments for that part of day", function () {
var hour = new Date().getHours();
if (hour >= 3 && hour < 12) {
// if morning check
return app.client.waitUntilWindowLoaded()
.getText(".compliments").then(function (text) {
expect(text).to.be.oneOf(["Hi", "Good Morning", "Morning test"]);
})
}
});
it("if Afternoon show Compliments for that part of day", function () {
var hour = new Date().getHours();
if (hour >= 12 && hour < 17) {
// if morning check
return app.client.waitUntilWindowLoaded()
.getText(".compliments").then(function (text) {
expect(text).to.be.oneOf(["Hello", "Good Afternoon", "Afternoon test"]);
})
}
});
it("if Evening show Compliments for that part of day", function () {
var hour = new Date().getHours();
if (!(hour >= 3 && hour < 12) && !(hour >= 12 && hour < 17)) {
// if evening check
return app.client.waitUntilWindowLoaded()
.getText(".compliments").then(function (text) {
expect(text).to.be.oneOf(["Hello There", "Good Evening", "Evening test"]);
})
}
});
});
});