Files
Michael TelatynskiandGitHub 42253a7ae5 Make apps/web/playwright comply with strict mode (#34403)
* Make apps/web/playwright comply with strict mode

Otherwise it sometimes fails to compile matrix-js-sdk as strict mode & noImplicitAny both impact how overloads are asserted

* Iterate
2026-07-30 09:07:03 +00:00

52 lines
1.5 KiB
TypeScript

/*
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 { test as base, expect } from "../../element-web-test";
import { Bot } from "../../pages/bot";
const ROOM_NAME = "Jitsi Room";
const test = base.extend<{
bot1: Bot;
bot2: Bot;
}>({
bot2: async ({ page, homeserver }, use, testInfo) => {
const bot = new Bot(page, homeserver, { displayName: `ByteBot_${testInfo.testId}` });
await bot.prepareClient(); // eagerly register the bot
await use(bot);
},
});
test.describe("Jitsi Calls", () => {
test.use({
displayName: "Jimmy",
botCreateOpts: { displayName: "Bot", autoAcceptInvites: false },
});
test("should be able to pop out a jitsi widget", async ({ page, app, bot, bot2, context }) => {
const roomId = await app.client.createRoom({
name: ROOM_NAME,
invite: [bot.credentials!.userId, bot2.credentials!.userId],
});
await bot.joinRoom(roomId);
await bot2.joinRoom(roomId);
// open the room
await app.viewRoomByName(ROOM_NAME);
await page.getByRole("button", { name: "Video call" }).click();
const pagePromise = context.waitForEvent("page");
await page.getByRole("button", { name: "Popout widget" }).click();
const newPage = await pagePromise;
await expect(newPage.getByRole("button", { name: "Join Conference" })).toBeVisible();
});
});