test: add alert module tests for different welcome_message configurations (#3867)

In this way, all options for `welcome_message` are tested.
This commit is contained in:
Kristjan ESPERANTO
2025-08-28 23:17:44 +02:00
committed by GitHub
parent 4c0a4689c3
commit fad8bbaeb1
5 changed files with 80 additions and 8 deletions

View File

@@ -34,6 +34,7 @@ Thanks to: @dathbe.
- Simplify DOM setup by removing unnecessary Promise/async patterns - Simplify DOM setup by removing unnecessary Promise/async patterns
- Avoid potential port conflicts by using port 3001 for translator unit tests - Avoid potential port conflicts by using port 3001 for translator unit tests
- Improve test reliability and maintainability - Improve test reliability and maintainability
- [tests] add alert module tests for different welcome_message configurations (#3867)
### Updated ### Updated

View File

@@ -0,0 +1,18 @@
let config = {
address: "0.0.0.0",
ipWhitelist: [],
modules: [
{
module: "alert",
config: {
display_time: 1000000,
welcome_message: false
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {
module.exports = config;
}

View File

@@ -0,0 +1,18 @@
let config = {
address: "0.0.0.0",
ipWhitelist: [],
modules: [
{
module: "alert",
config: {
display_time: 1000000,
welcome_message: "Custom welcome message!"
}
}
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {
module.exports = config;
}

View File

@@ -1,17 +1,52 @@
const helpers = require("../helpers/global-setup"); const helpers = require("../helpers/global-setup");
describe("Alert module", () => { describe("Alert module", () => {
beforeAll(async () => {
await helpers.startApplication("tests/configs/modules/alert/default.js");
await helpers.getDocument();
});
afterAll(async () => { afterAll(async () => {
await helpers.stopApplication(); await helpers.stopApplication();
}); });
it("should show the welcome message", async () => { describe("with welcome_message set to false", () => {
const elem = await helpers.waitForElement(".ns-box .ns-box-inner .light.bright.small"); beforeAll(async () => {
expect(elem).not.toBeNull(); await helpers.startApplication("tests/configs/modules/alert/welcome_false.js");
expect(elem.textContent).toContain("Welcome, start was successful!"); await helpers.getDocument();
});
it("should not show any welcome message", async () => {
// Wait a bit to ensure no message appears
await new Promise((resolve) => setTimeout(resolve, 1000));
// Check that no alert/notification elements are present
const alertElements = document.querySelectorAll(".ns-box .ns-box-inner .light.bright.small");
expect(alertElements).toHaveLength(0);
});
});
describe("with welcome_message set to true", () => {
beforeAll(async () => {
await helpers.startApplication("tests/configs/modules/alert/welcome_true.js");
await helpers.getDocument();
// Wait for the application to initialize
await new Promise((resolve) => setTimeout(resolve, 1000));
});
it("should show the translated welcome message", async () => {
const elem = await helpers.waitForElement(".ns-box .ns-box-inner .light.bright.small");
expect(elem).not.toBeNull();
expect(elem.textContent).toContain("Welcome, start was successful!");
});
});
describe("with welcome_message set to custom string", () => {
beforeAll(async () => {
await helpers.startApplication("tests/configs/modules/alert/welcome_string.js");
await helpers.getDocument();
});
it("should show the custom welcome message", async () => {
const elem = await helpers.waitForElement(".ns-box .ns-box-inner .light.bright.small");
expect(elem).not.toBeNull();
expect(elem.textContent).toContain("Custom welcome message!");
});
}); });
}); });