Files
MagicMirror/tests/electron/modules/compliments_spec.js
T

84 lines
3.6 KiB
JavaScript
Raw Normal View History

2023-01-01 18:09:08 +01:00
const helpers = require("../helpers/global-setup");
describe("Compliments module", () => {
2024-01-01 15:38:08 +01:00
2023-01-01 18:09:08 +01:00
/**
* move similar tests in function doTest
* @param {Array} complimentsArray The array of compliments.
2024-01-01 15:38:08 +01:00
* @returns {boolean} result
2023-01-01 18:09:08 +01:00
*/
const doTest = async (complimentsArray) => {
await helpers.getElement(".compliments");
const elem = await helpers.getElement(".module-content");
2024-01-01 15:38:08 +01:00
expect(elem).not.toBeNull();
2023-01-01 18:09:08 +01:00
expect(complimentsArray).toContain(await elem.textContent());
2024-01-01 15:38:08 +01:00
return true;
2023-01-01 18:09:08 +01:00
};
afterEach(async () => {
await helpers.stopApplication();
});
describe("parts of days", () => {
it("Morning compliments for that part of day", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_parts_day.js", "01 Oct 2022 10:00:00 GMT");
2024-01-01 15:38:08 +01:00
await expect(doTest(["Hi", "Good Morning", "Morning test"])).resolves.toBe(true);
2023-01-01 18:09:08 +01:00
});
it("Afternoon show Compliments for that part of day", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_parts_day.js", "01 Oct 2022 15:00:00 GMT");
2024-01-01 15:38:08 +01:00
await expect(doTest(["Hello", "Good Afternoon", "Afternoon test"])).resolves.toBe(true);
2023-01-01 18:09:08 +01:00
});
it("Evening show Compliments for that part of day", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_parts_day.js", "01 Oct 2022 20:00:00 GMT");
2024-01-01 15:38:08 +01:00
await expect(doTest(["Hello There", "Good Evening", "Evening test"])).resolves.toBe(true);
2023-01-01 18:09:08 +01:00
});
});
describe("Feature date in compliments module", () => {
describe("Set date and empty compliments for anytime, morning, evening and afternoon", () => {
2023-07-01 21:17:31 +02:00
it("shows happy new year compliment on new years day", async () => {
2023-01-01 18:09:08 +01:00
await helpers.startApplication("tests/configs/modules/compliments/compliments_date.js", "01 Jan 2022 10:00:00 GMT");
2024-01-01 15:38:08 +01:00
await expect(doTest(["Happy new year!"])).resolves.toBe(true);
2023-01-01 18:09:08 +01:00
});
});
describe("Test only custom date events shown with new property", () => {
it("shows 'Special day message' on May 6", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_specialDayUnique_true.js", "06 May 2022 10:00:00 GMT");
await expect(doTest(["Special day message"])).resolves.toBe(true);
});
});
describe("Test all date events shown without neww property", () => {
it("shows 'any message' on May 6", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_specialDayUnique_false.js", "06 May 2022 10:00:00 GMT");
await expect(doTest(["Special day message", "Typical message 1", "Typical message 2", "Typical message 3"])).resolves.toBe(true);
});
});
describe("Test only custom cron date event shown with new property", () => {
it("shows 'any message' on May 6", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_cron_entry.js", "06 May 2022 17:03:00 GMT");
await expect(doTest(["just pub time"])).resolves.toBe(true);
});
});
describe("Test any event shows after time window", () => {
it("shows 'any message' on May 6", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_cron_entry.js", "06 May 2022 17:11:00 GMT");
await expect(doTest(["just a test"])).resolves.toBe(true);
});
});
describe("Test any event shows different day", () => {
it("shows 'any message' on May 5", async () => {
await helpers.startApplication("tests/configs/modules/compliments/compliments_cron_entry.js", "05 May 2022 17:00:00 GMT");
await expect(doTest(["just a test"])).resolves.toBe(true);
});
});
2023-01-01 18:09:08 +01:00
});
});