diff --git a/playwright/e2e/devtools/upgraderoom.spec.ts b/playwright/e2e/devtools/upgraderoom.spec.ts new file mode 100644 index 0000000000..0df3ee310c --- /dev/null +++ b/playwright/e2e/devtools/upgraderoom.spec.ts @@ -0,0 +1,31 @@ +/* +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 { SettingLevel } from "../../../src/settings/SettingLevel"; +import { test, expect } from "../../element-web-test"; + +test.describe("Room upgrade dialog", () => { + test.use({ + displayName: "Alice" + }); + + test("should render the room upgrade dialog", { tag: "@screenshot" }, async ({ page, homeserver, user, app }) => { + // Enable developer mode + await app.settings.setValue("developerMode", null, SettingLevel.ACCOUNT, true); + + await app.client.createRoom({ name: "Test Room" }); + await app.viewRoomByName("Test Room"); + + const composer = app.getComposer().locator("[contenteditable]"); + // Pick a room version that is likely to be supported by all our target homeservers. + await composer.fill("/upgraderoom 5"); + await composer.press("Enter"); + const dialog = page.locator(".mx_Dialog"); + await dialog.getByLabel("Automatically invite members from this room to the new one").check(); + await expect(dialog).toMatchScreenshot("upgrade-room.png"); + }); +}); diff --git a/playwright/snapshots/devtools/upgraderoom.spec.ts/upgrade-room-linux.png b/playwright/snapshots/devtools/upgraderoom.spec.ts/upgrade-room-linux.png new file mode 100644 index 0000000000..7833f1dfbb Binary files /dev/null and b/playwright/snapshots/devtools/upgraderoom.spec.ts/upgrade-room-linux.png differ