@ -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