Files
ThreadNet-Web/apps/web/playwright/e2e/presence/presence.spec.ts
T
sorB 3da363517f
Docker / Docker Buildx (push) Has been cancelled
Build Debian package / Build package (release) Has been cancelled
Build and Deploy / prepare (release) Has been cancelled
Deploy release / Deploy to Cloudflare Pages (release) Has been cancelled
Build and Deploy / Trigger Pro pipeline (release) Has been cancelled
Build and Deploy / Windows arm64 (release) Has been cancelled
Build and Deploy / Windows x64 (release) Has been cancelled
Build and Deploy / macOS (release) Has been cancelled
Build and Deploy / Linux amd64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / Linux arm64 (sqlcipher static) (release) Has been cancelled
Build and Deploy / ${{ needs.prepare.outputs.deploy == 'true' && 'Deploy' || 'Deploy (dry-run)' }} (release) Has been cancelled
Build and Deploy / Deploy builds to ESS (release) Has been cancelled
feat: show call participants in room list (Discord-style)
2026-05-10 14:25:35 +02:00

61 lines
2.4 KiB
TypeScript

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
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, expect } from "../../element-web-test";
test.describe("Presence tests", () => {
test.use({
displayName: "Janet",
botCreateOpts: { displayName: "Bob" },
});
test.describe("bob unreachable", () => {
// This is failing on CI (https://github.com/element-hq/element-web/issues/27270)
// but not locally, so debugging this is going to be tricky. Let's disable it for now.
test.skip("renders unreachable presence state correctly", async ({ page, app, user, bot: bob }) => {
await app.client.createRoom({ name: "My Room", invite: [bob.credentials.userId] });
await app.viewRoomByName("My Room");
await bob.evaluate(async (client) => {
client.stopClient();
});
await page.route(
`**/sync*`,
async (route) => {
const response = await route.fetch();
await route.fulfill({
json: {
...(await response.json()),
presence: {
events: [
{
type: "m.presence",
sender: bob.credentials.userId,
content: {
presence: "io.element.unreachable",
currently_active: false,
},
},
],
},
},
});
},
{ times: 1 },
);
await app.client.createRoom({}); // trigger sync
await app.toggleRoomInfoPanel();
await page.locator(".mx_RightPanel").getByText("People").click();
await expect(page.locator(".mx_EntityTile_unreachable")).toContainText("Bob");
await expect(page.locator(".mx_EntityTile_unreachable")).toContainText("User's server unreachable");
});
});
});