From 6f6a21448d5d57665dc18a121543146e93804382 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Fri, 28 Feb 2025 11:02:08 +0100 Subject: [PATCH] test(e2e): add room list tests --- .../room-list-panel/room-list.spec.ts | 50 ++++++++++++++++++ .../room-list.spec.ts/room-list-linux.png | Bin 0 -> 25405 bytes .../room-list-scrolled-linux.png | Bin 0 -> 22627 bytes 3 files changed, 50 insertions(+) create mode 100644 playwright/e2e/left-panel/room-list-panel/room-list.spec.ts create mode 100644 playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-linux.png create mode 100644 playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-scrolled-linux.png diff --git a/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts new file mode 100644 index 0000000000..ff06eda0aa --- /dev/null +++ b/playwright/e2e/left-panel/room-list-panel/room-list.spec.ts @@ -0,0 +1,50 @@ +/* + * Copyright 2025 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import { type Page } from "@playwright/test"; + +import { test, expect } from "../../../element-web-test"; + +test.describe("Room list", () => { + test.use({ + labsFlags: ["feature_new_room_list"], + }); + + /** + * Get the room list + * @param page + */ + function getRoomList(page: Page) { + return page.getByTestId("room-list"); + } + + test.beforeEach(async ({ page, app, user }) => { + // The notification toast is displayed above the search section + await app.closeNotificationToast(); + for (let i = 0; i < 30; i++) { + await app.client.createRoom({ name: `room${i}` }); + } + }); + + test("should render the room list", { tag: "@screenshot" }, async ({ page, app, user }) => { + const roomListView = getRoomList(page); + await expect(roomListView.getByRole("gridcell", { name: "Open room room29" })).toBeVisible(); + await expect(roomListView).toMatchScreenshot("room-list.png"); + + await roomListView.hover(); + // Scroll to the end of the room list + await page.mouse.wheel(0, 1000); + await expect(roomListView.getByRole("gridcell", { name: "Open room room0" })).toBeVisible(); + await expect(roomListView).toMatchScreenshot("room-list-scrolled.png"); + }); + + test("should open the room when it is clicked", async ({ page, app, user }) => { + const roomListView = getRoomList(page); + await roomListView.getByRole("gridcell", { name: "Open room room29" }).click(); + await expect(page.getByRole("heading", { name: "room29", level: 1 })).toBeVisible(); + }); +}); diff --git a/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-linux.png b/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f9275dd2111bca7b7fabaf60043991a6f35f26eb GIT binary patch literal 25405 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 GFXbJP;FoB?ka-ng9T=fD8|Q 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