Consider voice calls starting in pip for playwright tests

This commit is contained in:
Timo K.
2026-07-08 13:19:23 +02:00
parent 59999b9b37
commit 374f56651c

View File

@@ -31,12 +31,10 @@ widgetTest(
const brooksFrame = brooks.page const brooksFrame = brooks.page
.locator('iframe[title="Element Call"]') .locator('iframe[title="Element Call"]')
.contentFrame(); .contentFrame();
// We should show a ringing tile, let's check for that // We should show a ringing tile, let's check for that
await expect( await expect(
brooksFrame brooksFrame
.getByTestId("videoTile") .getByTestId("videoTile")
.filter({ has: brooksFrame.getByText(whistler.displayName) })
.filter({ has: brooksFrame.getByText("Calling…") }), .filter({ has: brooksFrame.getByText("Calling…") }),
).toBeVisible(); ).toBeVisible();
@@ -83,23 +81,22 @@ widgetTest(
}), }),
).toBeVisible(); ).toBeVisible();
// In order to confirm that the call is disconnected we will check that the message composer is shown again. // We confirm that we started in Pip mode (voice call) and check that we still see the composer.
// So first we need to confirm that it is hidden when in the call.
await expect(
whistler.page.locator(".mx_BasicMessageComposer"),
).not.toBeVisible();
await expect(
brooks.page.locator(".mx_BasicMessageComposer"),
).not.toBeVisible();
// ASSERT hanging up on one side ends the call for both
await brooksFrame.getByRole("button", { name: "End call" }).click();
// The widget should be closed on both sides and the timeline should be back on screen
await expect( await expect(
whistler.page.locator(".mx_BasicMessageComposer"), whistler.page.locator(".mx_BasicMessageComposer"),
).toBeVisible(); ).toBeVisible();
await expect(brooks.page.locator(".mx_BasicMessageComposer")).toBeVisible(); await expect(brooks.page.locator(".mx_BasicMessageComposer")).toBeVisible();
// ASSERT hanging up on one side ends the call for both
await brooksFrame.getByRole("button", { name: "End call" }).click();
// The widget should be closed on both sides
await expect(
whistler.page.locator('iframe[title="Element Call"]'),
).not.toBeVisible();
await expect(
whistler.page.locator('iframe[title="Element Call"]'),
).not.toBeVisible();
}, },
); );