mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-08-20 12:27:29 +08:00
Add a public URL field for monitors and uses it on the status page (#5435)
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
This commit is contained in:
@@ -12,6 +12,8 @@ test.describe("Status Page", () => {
|
||||
const monitorName = "Monitor for Status Page";
|
||||
const tagName = "Client";
|
||||
const tagValue = "Acme Inc";
|
||||
const monitorUrl = "https://www.example.com/status";
|
||||
const monitorCustomUrl = "https://www.example.com";
|
||||
|
||||
// Status Page
|
||||
const footerText = "This is footer text.";
|
||||
@@ -30,7 +32,7 @@ test.describe("Status Page", () => {
|
||||
await expect(page.getByTestId("monitor-type-select")).toBeVisible();
|
||||
await page.getByTestId("monitor-type-select").selectOption("http");
|
||||
await page.getByTestId("friendly-name-input").fill(monitorName);
|
||||
await page.getByTestId("url-input").fill("https://www.example.com/");
|
||||
await page.getByTestId("url-input").fill(monitorUrl);
|
||||
await page.getByTestId("add-tag-button").click();
|
||||
await page.getByTestId("tag-name-input").fill(tagName);
|
||||
await page.getByTestId("tag-value-input").fill(tagValue);
|
||||
@@ -79,6 +81,13 @@ test.describe("Status Page", () => {
|
||||
await page.getByTestId("monitor-select").getByRole("option", { name: monitorName }).click();
|
||||
await expect(page.getByTestId("monitor")).toHaveCount(1);
|
||||
await expect(page.getByTestId("monitor-name")).toContainText(monitorName);
|
||||
await expect(page.getByTestId("monitor-name")).not.toHaveAttribute("href");
|
||||
|
||||
// Set public url on
|
||||
await page.getByTestId("monitor-settings").click();
|
||||
await page.getByTestId("show-clickable-link").check();
|
||||
await page.getByTestId("custom-url-input").fill(monitorCustomUrl);
|
||||
await page.getByTestId("monitor-settings-close").click();
|
||||
|
||||
// Save the changes
|
||||
await screenshot(testInfo, page);
|
||||
@@ -94,6 +103,8 @@ test.describe("Status Page", () => {
|
||||
await expect(page.getByTestId("footer-text")).toContainText(footerText);
|
||||
await expect(page.getByTestId("powered-by")).toHaveCount(0);
|
||||
|
||||
await expect(page.getByTestId("monitor-name")).toHaveAttribute("href", monitorCustomUrl);
|
||||
|
||||
await expect(page.getByTestId("update-countdown-text")).toContainText("00:");
|
||||
const updateCountdown = Number((await page.getByTestId("update-countdown-text").textContent()).match(/(\d+):(\d+)/)[2]);
|
||||
expect(updateCountdown).toBeGreaterThanOrEqual(refreshInterval); // cant be certain when the timer will start, so ensure it's within expected range
|
||||
|
Reference in New Issue
Block a user