mirror of
https://github.com/vector-im/element-call.git
synced 2026-03-19 06:20:25 +00:00
add playwright test to crash the widget.
This commit is contained in:
50
playwright/widget/error-screen-can-close.spec.ts
Normal file
50
playwright/widget/error-screen-can-close.spec.ts
Normal 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();
|
||||
});
|
||||
22
yarn.lock
22
yarn.lock
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user