From d15e6190473ee5284a55ce3b2540407955b55d4d Mon Sep 17 00:00:00 2001 From: gabriellsh Date: Wed, 24 Jun 2026 16:13:37 -0300 Subject: [PATCH] fix: Test not waiting long enough for room to load --- apps/meteor/tests/e2e/page-objects/home-channel.ts | 5 +++++ apps/meteor/tests/e2e/rooms-join.spec.ts | 14 ++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/apps/meteor/tests/e2e/page-objects/home-channel.ts b/apps/meteor/tests/e2e/page-objects/home-channel.ts index bc44a80dba5f7..830bf229ba87d 100644 --- a/apps/meteor/tests/e2e/page-objects/home-channel.ts +++ b/apps/meteor/tests/e2e/page-objects/home-channel.ts @@ -101,6 +101,11 @@ export class HomeChannel { await this.content.waitForChannel(); } + async gotoPrivateChannel(name: string) { + await this.page.goto(`/group/${name}`); + await this.content.waitForChannel(); + } + get btnContextualbarClose(): Locator { return this.page.locator('[data-qa="ContextualbarActionClose"]'); } diff --git a/apps/meteor/tests/e2e/rooms-join.spec.ts b/apps/meteor/tests/e2e/rooms-join.spec.ts index 28bbdb8929069..23e55e499ca34 100644 --- a/apps/meteor/tests/e2e/rooms-join.spec.ts +++ b/apps/meteor/tests/e2e/rooms-join.spec.ts @@ -26,6 +26,8 @@ test.describe.serial('Join rooms', () => { test.beforeEach(async ({ page }) => { poHomeChannel = new HomeChannel(page); + // poHomeChannel.goToRoom cannot be used here because it waits for specific selectors to ensure the whole room is loaded. + // Since the user does not have permission to preview the user, there's never a room to wait for. await page.goto(`/channel/${targetChannel}`); }); @@ -44,7 +46,7 @@ test.describe.serial('Join rooms', () => { }); test('should let a non-member join a public channel', async () => { - await expect(poHomeChannel.btnJoinChannel).toBeVisible(); + await expect(poHomeChannel.btnJoinChannel).toBeVisible({ timeout: 10000 }); await poHomeChannel.btnJoinChannel.click(); await expect(poHomeChannel.btnJoinChannel).not.toBeVisible(); await expect(poHomeChannel.composer.inputMessage).toBeEnabled(); @@ -66,7 +68,7 @@ test.describe.serial('Join rooms', () => { test.beforeEach(async ({ page }) => { poHomeChannel = new HomeChannel(page); - await page.goto(`/channel/${targetChannel}`); + await poHomeChannel.gotoChannel(targetChannel); }); test.afterEach(async ({ api }) => { @@ -100,8 +102,8 @@ test.describe.serial('Join rooms', () => { await deleteRoom(api, discussion._id); }); - test('should let a non-member join a discussion', async ({ page }) => { - await page.goto(`/channel/${discussion.name}`); + test('should let a non-member join a discussion', async () => { + await poHomeChannel.gotoChannel(discussion.name); await expect(poHomeChannel.composer.btnJoinRoom).toBeVisible(); @@ -135,8 +137,8 @@ test.describe.serial('Join rooms', () => { await api.post('/groups.delete', { roomId: group._id }); }); - test('should let a parent member join a discussion in a private channel', async ({ page }) => { - await page.goto(`/group/${discussion.name}`); + test('should let a parent member join a discussion in a private channel', async () => { + await poHomeChannel.gotoPrivateChannel(discussion.name); await expect(poHomeChannel.composer.btnJoinRoom).toBeVisible(); await poHomeChannel.composer.btnJoinRoom.click();