mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 17:01:08 -04:00
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Karsten Hassel <hassel@gmx.de> Co-authored-by: Malte Hallström <46646495+SkySails@users.noreply.github.com> Co-authored-by: Veeck <github@veeck.de> Co-authored-by: veeck <michael@veeck.de> Co-authored-by: dWoolridge <dwoolridge@charter.net> Co-authored-by: Johan <jojjepersson@yahoo.se> Co-authored-by: Dario Mratovich <dario_mratovich@hotmail.com> Co-authored-by: Dario Mratovich <dario.mratovich@outlook.com> Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com> Co-authored-by: Naveen <172697+naveensrinivasan@users.noreply.github.com> Co-authored-by: buxxi <buxxi@omfilm.net> Co-authored-by: Thomas Hirschberger <47733292+Tom-Hirschberger@users.noreply.github.com> Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com> Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com> Co-authored-by: Dave Child <dave@addedbytes.com> Co-authored-by: grenagit <46225780+grenagit@users.noreply.github.com> Co-authored-by: Grena <grena@grenabox.fr> Co-authored-by: Magnus Marthinsen <magmar@online.no> Co-authored-by: Patrick <psieg@users.noreply.github.com> Co-authored-by: Piotr Rajnisz <56397164+rajniszp@users.noreply.github.com> Co-authored-by: Suthep Yonphimai <tomzt@users.noreply.github.com> Co-authored-by: CarJem Generations (Carter Wallace) <cwallacecs@gmail.com> Co-authored-by: Nicholas Fogal <nfogal.misc@gmail.com> Co-authored-by: JakeBinney <126349119+JakeBinney@users.noreply.github.com> Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com> Co-authored-by: Oscar Björkman <17575446+oscarb@users.noreply.github.com> Co-authored-by: Ismar Slomic <ismar@slomic.no> Co-authored-by: Jørgen Veum-Wahlberg <jorgen.wahlberg@amedia.no> Co-authored-by: Eddie Hung <6740044+eddiehung@users.noreply.github.com> Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr> Co-authored-by: bugsounet <bugsounet@bugsounet.fr> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
124 lines
4.3 KiB
JavaScript
124 lines
4.3 KiB
JavaScript
const moment = require("moment");
|
|
const helpers = require("../helpers/global-setup");
|
|
|
|
describe("Clock module", () => {
|
|
afterAll(async () => {
|
|
await helpers.stopApplication();
|
|
});
|
|
|
|
describe("with default 24hr clock config", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_24hr.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show the date in the correct format", async () => {
|
|
const dateRegex = /^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?:January|February|March|April|May|June|July|August|September|October|November|December) \d{1,2}, \d{4}$/;
|
|
await helpers.testMatch(".clock .date", dateRegex);
|
|
});
|
|
|
|
it("should show the time in 24hr format", async () => {
|
|
const timeRegex = /^(?:2[0-3]|[01]\d):[0-5]\d[0-5]\d$/;
|
|
await helpers.testMatch(".clock .time", timeRegex);
|
|
});
|
|
});
|
|
|
|
describe("with default 12hr clock config", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_12hr.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show the date in the correct format", async () => {
|
|
const dateRegex = /^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?:January|February|March|April|May|June|July|August|September|October|November|December) \d{1,2}, \d{4}$/;
|
|
await helpers.testMatch(".clock .date", dateRegex);
|
|
});
|
|
|
|
it("should show the time in 12hr format", async () => {
|
|
const timeRegex = /^(?:1[0-2]|[1-9]):[0-5]\d[0-5]\d[ap]m$/;
|
|
await helpers.testMatch(".clock .time", timeRegex);
|
|
});
|
|
});
|
|
|
|
describe("with showPeriodUpper config enabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_showPeriodUpper.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show 12hr time with upper case AM/PM", async () => {
|
|
const timeRegex = /^(?:1[0-2]|[1-9]):[0-5]\d[0-5]\d[AP]M$/;
|
|
await helpers.testMatch(".clock .time", timeRegex);
|
|
});
|
|
});
|
|
|
|
describe("with displaySeconds config disabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_displaySeconds_false.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show 12hr time without seconds am/pm", async () => {
|
|
const timeRegex = /^(?:1[0-2]|[1-9]):[0-5]\d[ap]m$/;
|
|
await helpers.testMatch(".clock .time", timeRegex);
|
|
});
|
|
});
|
|
|
|
describe("with showTime config disabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_showTime.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should not show the time when digital clock is shown", async () => {
|
|
const elem = await document.querySelector(".clock .digital .time");
|
|
expect(elem).toBe(null);
|
|
});
|
|
});
|
|
|
|
describe("with showWeek config enabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_showWeek.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show the week in the correct format", async () => {
|
|
const weekRegex = /^Week [0-9]{1,2}$/;
|
|
await helpers.testMatch(".clock .week", weekRegex);
|
|
});
|
|
|
|
it("should show the week with the correct number of week of year", async () => {
|
|
const currentWeekNumber = moment().week();
|
|
const weekToShow = `Week ${currentWeekNumber}`;
|
|
const elem = await helpers.waitForElement(".clock .week");
|
|
expect(elem).not.toBe(null);
|
|
expect(elem.textContent).toBe(weekToShow);
|
|
});
|
|
});
|
|
|
|
describe("with analog clock face enabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_analog.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show the analog clock face", async () => {
|
|
const elem = helpers.waitForElement(".clock-circle");
|
|
expect(elem).not.toBe(null);
|
|
});
|
|
});
|
|
|
|
describe("with analog clock face and date enabled", () => {
|
|
beforeAll(async () => {
|
|
await helpers.startApplication("tests/configs/modules/clock/clock_showDateAnalog.js");
|
|
await helpers.getDocument();
|
|
});
|
|
|
|
it("should show the analog clock face and the date", async () => {
|
|
const elemClock = helpers.waitForElement(".clock-circle");
|
|
await expect(elemClock).not.toBe(null);
|
|
const elemDate = helpers.waitForElement(".clock .date");
|
|
await expect(elemDate).not.toBe(null);
|
|
});
|
|
});
|
|
});
|