From 77ca349bf82acd61eb84b20fd556d9b3242a8f45 Mon Sep 17 00:00:00 2001 From: Jessica Schelly Souza Date: Wed, 1 Apr 2026 14:50:41 -0300 Subject: [PATCH 1/2] test: fix registration test by waiting for page load first --- apps/meteor/tests/e2e/page-objects/auth.ts | 8 ++++++++ apps/meteor/tests/e2e/register.spec.ts | 11 +++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/meteor/tests/e2e/page-objects/auth.ts b/apps/meteor/tests/e2e/page-objects/auth.ts index 7a14910f9e7d9..447f217922508 100644 --- a/apps/meteor/tests/e2e/page-objects/auth.ts +++ b/apps/meteor/tests/e2e/page-objects/auth.ts @@ -80,6 +80,10 @@ export class Registration extends Main { super(page.getByRole('main')); } + async waitForCalloutPage(): Promise { + await this.page.getByRole('heading', { level: 2 }).waitFor(); + } + get btnSendInstructions(): Locator { return this.page.locator('role=button[name="Send instructions"]'); } @@ -147,4 +151,8 @@ export class Registration extends Main { get registrationDisabledCallout(): Locator { return this.page.locator('role=status >> text=/New user registration is currently disabled/'); } + + get registrationInvalidUrlCallout(): Locator { + return this.page.getByRole('heading', { level: 2, name: 'The URL provided is invalid.' }); + } } diff --git a/apps/meteor/tests/e2e/register.spec.ts b/apps/meteor/tests/e2e/register.spec.ts index eb081b62bb708..bd4ce422f7506 100644 --- a/apps/meteor/tests/e2e/register.spec.ts +++ b/apps/meteor/tests/e2e/register.spec.ts @@ -190,10 +190,9 @@ test.describe.parallel('register', () => { await page.goto('/register/invalid_secret'); }); - test('should expect a invalid page informing that the secret password is invalid', async ({ page }) => { - await expect(page.locator('role=heading[level=2][name="The URL provided is invalid."]')).toBeVisible({ - timeout: 10000, - }); + test('should expect a invalid page informing that the secret password is invalid', async () => { + await poRegistration.waitForCalloutPage(); + await expect(poRegistration.registrationInvalidUrlCallout).toBeVisible(); }); }); @@ -219,8 +218,8 @@ test.describe.parallel('register', () => { test('should show an invalid page informing that the url is not valid', async ({ page }) => { await page.goto('/register/secret'); - await page.waitForSelector('role=heading[level=2]'); - await expect(page.locator('role=heading[level=2][name="The URL provided is invalid."]')).toBeVisible(); + await poRegistration.waitForCalloutPage(); + await expect(poRegistration.registrationInvalidUrlCallout).toBeVisible(); }); }); }); From e000a2bc97467331c9250fa35be6a8256d22a591 Mon Sep 17 00:00:00 2001 From: Jessica Schelly Souza Date: Wed, 1 Apr 2026 17:22:51 -0300 Subject: [PATCH 2/2] chore: replace h2 with Callout for invalid URL page --- apps/meteor/tests/e2e/page-objects/auth.ts | 6 +++--- .../web-ui-registration/src/SecretRegisterInvalidForm.tsx | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/meteor/tests/e2e/page-objects/auth.ts b/apps/meteor/tests/e2e/page-objects/auth.ts index 447f217922508..1e9cf66cd6673 100644 --- a/apps/meteor/tests/e2e/page-objects/auth.ts +++ b/apps/meteor/tests/e2e/page-objects/auth.ts @@ -81,7 +81,7 @@ export class Registration extends Main { } async waitForCalloutPage(): Promise { - await this.page.getByRole('heading', { level: 2 }).waitFor(); + await this.page.getByRole('status').waitFor(); } get btnSendInstructions(): Locator { @@ -149,10 +149,10 @@ export class Registration extends Main { } get registrationDisabledCallout(): Locator { - return this.page.locator('role=status >> text=/New user registration is currently disabled/'); + return this.page.getByRole('status').filter({ hasText: 'New user registration is currently disabled' }); } get registrationInvalidUrlCallout(): Locator { - return this.page.getByRole('heading', { level: 2, name: 'The URL provided is invalid.' }); + return this.page.getByRole('status').filter({ hasText: 'The URL provided is invalid' }); } } diff --git a/packages/web-ui-registration/src/SecretRegisterInvalidForm.tsx b/packages/web-ui-registration/src/SecretRegisterInvalidForm.tsx index d1fa2df3d4b39..7d63bd467af4c 100644 --- a/packages/web-ui-registration/src/SecretRegisterInvalidForm.tsx +++ b/packages/web-ui-registration/src/SecretRegisterInvalidForm.tsx @@ -1,3 +1,4 @@ +import { Callout } from '@rocket.chat/fuselage'; import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; @@ -8,7 +9,9 @@ const SecretRegisterInvalidForm = (): ReactElement => { return ( -

{t('Invalid_secret_URL_message')}

+ + {t('Invalid_secret_URL_message')} +
); };