add playwright test to crash the widget.

This commit is contained in:
Timo K
2025-12-05 15:06:06 +01:00
parent 394e88414f
commit ddc2924072
2 changed files with 54 additions and 18 deletions

View File

@@ -0,0 +1,50 @@
/*
Copyright 2025 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/
import { expect, test } from "@playwright/test";
import { widgetTest } from "../fixtures/widget-user.ts";
// Skip test, including Fixtures
widgetTest.skip(
({ browserName }) => browserName === "firefox",
"This test is not working on firefox, after hangup brooks is locked in a strange state with a blank widget",
);
widgetTest("Exit a widget in the error screen", async ({ asWidget }) => {
test.slow(); // Triples the timeout
const { brooks } = asWidget;
await expect(
brooks.page.getByRole("button", { name: "Video call" }),
).toBeVisible();
await brooks.page.getByRole("button", { name: "Video call" }).click();
await expect(
brooks.page.getByRole("menuitem", { name: "Legacy Call" }),
).toBeVisible();
await expect(
brooks.page.getByRole("menuitem", { name: "Element Call" }),
).toBeVisible();
await brooks.page.getByRole("menuitem", { name: "Element Call" }).click();
const widgetContent = brooks.page
.locator('iframe[title="Element Call"]')
.contentFrame();
await widgetContent.getByTestId("lobby_joinCall").click();
await widgetContent.getByRole("button", { name: "Settings" }).click();
await widgetContent.getByRole("tab", { name: "Preferences" }).click();
await widgetContent.getByText("Developer mode", { exact: true }).click();
await widgetContent.getByRole("tab", { name: "Developer" }).click();
await widgetContent.getByRole("button", { name: "CrashMe" }).click();
await widgetContent.getByRole("button", { name: "Close" }).click();
await expect(brooks.page.locator(".mx_BasicMessageComposer")).toBeVisible();
});

View File

@@ -6571,24 +6571,10 @@ __metadata:
languageName: node
linkType: hard
"caniuse-lite@npm:^1.0.30001688":
version: 1.0.30001701
resolution: "caniuse-lite@npm:1.0.30001701"
checksum: 10c0/a814bd4dd8b49645ca51bc6ee42120660a36394bb54eb6084801d3f2bbb9471e5e1a9a8a25f44f83086a032d46e66b33031e2aa345f699b90a7e84a9836b819c
languageName: node
linkType: hard
"caniuse-lite@npm:^1.0.30001702":
version: 1.0.30001720
resolution: "caniuse-lite@npm:1.0.30001720"
checksum: 10c0/ba9f963364ec4bfc8359d15d7e2cf365185fa1fddc90b4f534c71befedae9b3dd0cd2583a25ffc168a02d7b61b6c18b59bda0a1828ea2a5250fd3e35c2c049e9
languageName: node
linkType: hard
"caniuse-lite@npm:^1.0.30001726":
version: 1.0.30001726
resolution: "caniuse-lite@npm:1.0.30001726"
checksum: 10c0/2c5f91da7fd9ebf8c6b432818b1498ea28aca8de22b30dafabe2a2a6da1e014f10e67e14f8e68e872a0867b6b4cd6001558dde04e3ab9770c9252ca5c8849d0e
"caniuse-lite@npm:^1.0.30001688, caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001726":
version: 1.0.30001759
resolution: "caniuse-lite@npm:1.0.30001759"
checksum: 10c0/b0f415960ba34995cda18e0d25c4e602f6917b9179290a76bdd0311423505b78cc93e558a90c98a22a1cc6b1781ab720ef6beea24ec7e29a1c1164ca72eac3a2
languageName: node
linkType: hard