From 99cb985d539097b00edad8bbea55e55390532154 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 12 Dec 2023 09:56:55 +0000 Subject: [PATCH] Migrate permalinks.spec.ts from Cypress to Playwright (#12004) * Migrate permalinks.spec.ts from Cypress to Playwright Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Stabilise screenshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- cypress/e2e/permalinks/permalinks.spec.ts | 139 ------------------ playwright/e2e/permalinks/permalinks.spec.ts | 110 ++++++++++++++ playwright/pages/client.ts | 2 +- .../synapse/templates/default/homeserver.yaml | 5 + .../permalink-rendering-linux.png | Bin 0 -> 63058 bytes 5 files changed, 116 insertions(+), 140 deletions(-) delete mode 100644 cypress/e2e/permalinks/permalinks.spec.ts create mode 100644 playwright/e2e/permalinks/permalinks.spec.ts create mode 100644 playwright/snapshots/permalinks/permalinks.spec.ts/permalink-rendering-linux.png diff --git a/cypress/e2e/permalinks/permalinks.spec.ts b/cypress/e2e/permalinks/permalinks.spec.ts deleted file mode 100644 index 2a61df26a0..0000000000 --- a/cypress/e2e/permalinks/permalinks.spec.ts +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright 2023 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import { ISendEventResponse } from "matrix-js-sdk/src/matrix"; - -import { HomeserverInstance } from "../../plugins/utils/homeserver"; -import type { CypressBot } from "../../support/bot"; - -const room1Name = "Room 1"; -const room2Name = "Room 2"; -const unknownRoomAlias = "#unknownroom:example.com"; -const permalinkPrefix = "https://matrix.to/#/"; - -const getPill = (label: string) => { - return cy.contains(".mx_Pill_text", new RegExp("^" + label + "$", "g")); -}; - -describe("permalinks", () => { - beforeEach(() => { - cy.startHomeserver("default") - .as("homeserver") - .then((homeserver: HomeserverInstance) => { - cy.initTestUser(homeserver, "Alice"); - - cy.createRoom({ name: room1Name }).as("room1Id"); - cy.createRoom({ name: room2Name }).as("room2Id"); - - cy.getBot(homeserver, { displayName: "Bob" }).as("bob"); - cy.getBot(homeserver, { displayName: "Charlotte" }).as("charlotte"); - cy.getBot(homeserver, { displayName: "Danielle" }).as("danielle"); - }); - }); - - afterEach(() => { - cy.get("@homeserver").then((homeserver: HomeserverInstance) => { - cy.stopHomeserver(homeserver); - }); - }); - - it("shoud render permalinks as expected", () => { - let danielle: CypressBot; - - cy.get("@danielle").then((d) => { - danielle = d; - }); - - cy.viewRoomByName(room1Name); - - cy.all([ - cy.getClient(), - cy.get("@room1Id"), - cy.get("@room2Id"), - cy.get("@bob"), - cy.get("@charlotte"), - ]).then(([client, room1Id, room2Id, bob, charlotte]) => { - cy.inviteUser(room1Id, bob.getUserId()); - cy.botJoinRoom(bob, room1Id); - cy.inviteUser(room2Id, charlotte.getUserId()); - cy.botJoinRoom(charlotte, room2Id); - - cy.botSendMessage(client, room1Id, "At room mention: @room"); - - cy.botSendMessage(client, room1Id, `Permalink to Room 2: ${permalinkPrefix}${room2Id}`); - cy.botSendMessage( - client, - room1Id, - `Permalink to an unknown room alias: ${permalinkPrefix}${unknownRoomAlias}`, - ); - - cy.botSendMessage(bob, room1Id, "Hello").then((result: ISendEventResponse) => { - cy.botSendMessage( - client, - room1Id, - `Permalink to a message in the same room: ${permalinkPrefix}${room1Id}/${result.event_id}`, - ); - }); - cy.botSendMessage(charlotte, room2Id, "Hello").then((result: ISendEventResponse) => { - cy.botSendMessage( - client, - room1Id, - `Permalink to a message in another room: ${permalinkPrefix}${room2Id}/${result.event_id}`, - ); - }); - cy.botSendMessage(client, room1Id, `Permalink to an uknonwn message: ${permalinkPrefix}${room1Id}/$abc123`); - - cy.botSendMessage(client, room1Id, `Permalink to a user in the room: ${permalinkPrefix}${bob.getUserId()}`); - cy.botSendMessage( - client, - room1Id, - `Permalink to a user in another room: ${permalinkPrefix}${charlotte.getUserId()}`, - ); - cy.botSendMessage( - client, - room1Id, - `Permalink to a user with whom alice doesn't share a room: ${permalinkPrefix}${danielle.getUserId()}`, - ); - }); - - cy.get(".mx_RoomView_timeline").within(() => { - getPill("@room"); - - getPill(room2Name); - getPill(unknownRoomAlias); - - getPill("Message from Bob"); - getPill(`Message in ${room2Name}`); - getPill("Message"); - - getPill("Bob"); - getPill("Charlotte"); - // This is the permalink to Danielle's profile. It should only display the MXID - // because the profile is unknown (not sharing any room with Danielle). - getPill(danielle.getSafeUserId()); - }); - - // Exclude various components from the snapshot, for consistency - const percyCSS = - ".mx_cryptoEvent, " + - ".mx_NewRoomIntro, " + - ".mx_MessageTimestamp, " + - ".mx_RoomView_myReadMarker, " + - ".mx_GenericEventListSummary { visibility: hidden !important; }"; - - cy.get(".mx_RoomView_timeline").percySnapshotElement("Permalink rendering", { percyCSS }); - }); -}); diff --git a/playwright/e2e/permalinks/permalinks.spec.ts b/playwright/e2e/permalinks/permalinks.spec.ts new file mode 100644 index 0000000000..6b3a10a4d6 --- /dev/null +++ b/playwright/e2e/permalinks/permalinks.spec.ts @@ -0,0 +1,110 @@ +/* +Copyright 2023 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import type { Locator } from "@playwright/test"; +import { test, expect } from "../../element-web-test"; +import { Bot } from "../../pages/bot"; + +const room1Name = "Room 1"; +const room2Name = "Room 2"; +const unknownRoomAlias = "#unknownroom:example.com"; +const permalinkPrefix = "https://matrix.to/#/"; + +const getPill = (locator: Locator, label: string) => { + return locator.locator(".mx_Pill_text", { hasText: new RegExp("^" + label + "$", "g") }); +}; + +test.describe("permalinks", () => { + test.use({ + displayName: "Alice", + }); + + test("shoud render permalinks as expected", async ({ page, app, user, homeserver }) => { + const bob = new Bot(page, homeserver, { displayName: "Bob" }); + const charlotte = new Bot(page, homeserver, { displayName: "Charlotte" }); + await bob.prepareClient(); + await charlotte.prepareClient(); + + // We don't use a bot for danielle as we want a stable MXID. + const danielleId = "@danielle:localhost"; + + const room1Id = await app.client.createRoom({ name: room1Name }); + const room2Id = await app.client.createRoom({ name: room2Name }); + + await app.viewRoomByName(room1Name); + + await app.client.inviteUser(room1Id, bob.credentials.userId); + await app.client.inviteUser(room2Id, charlotte.credentials.userId); + + await app.client.sendMessage(room1Id, "At room mention: @room"); + + await app.client.sendMessage(room1Id, `Permalink to Room 2: ${permalinkPrefix}${room2Id}`); + await app.client.sendMessage( + room1Id, + `Permalink to an unknown room alias: ${permalinkPrefix}${unknownRoomAlias}`, + ); + + const event1Response = await bob.sendMessage(room1Id, "Hello"); + await app.client.sendMessage( + room1Id, + `Permalink to a message in the same room: ${permalinkPrefix}${room1Id}/${event1Response.event_id}`, + ); + + const event2Response = await charlotte.sendMessage(room2Id, "Hello"); + await app.client.sendMessage( + room1Id, + `Permalink to a message in another room: ${permalinkPrefix}${room2Id}/${event2Response.event_id}`, + ); + + await app.client.sendMessage(room1Id, `Permalink to an unknown message: ${permalinkPrefix}${room1Id}/$abc123`); + + await app.client.sendMessage( + room1Id, + `Permalink to a user in the room: ${permalinkPrefix}${bob.credentials.userId}`, + ); + await app.client.sendMessage( + room1Id, + `Permalink to a user in another room: ${permalinkPrefix}${charlotte.credentials.userId}`, + ); + await app.client.sendMessage( + room1Id, + `Permalink to a user with whom alice doesn't share a room: ${permalinkPrefix}${danielleId}`, + ); + + const timeline = page.locator(".mx_RoomView_timeline"); + getPill(timeline, "@room"); + + getPill(timeline, room2Name); + getPill(timeline, unknownRoomAlias); + + getPill(timeline, "Message from Bob"); + getPill(timeline, `Message in ${room2Name}`); + getPill(timeline, "Message"); + + getPill(timeline, "Bob"); + getPill(timeline, "Charlotte"); + // This is the permalink to Danielle's profile. It should only display the MXID + // because the profile is unknown (not sharing any room with Danielle). + getPill(timeline, danielleId); + + await expect(timeline).toMatchScreenshot("permalink-rendering.png", { + mask: [ + // Exclude timestamps from the snapshot, for consistency. + page.locator(".mx_MessageTimestamp"), + ], + }); + }); +}); diff --git a/playwright/pages/client.ts b/playwright/pages/client.ts index 1b893fc970..b3a6cdcaed 100644 --- a/playwright/pages/client.ts +++ b/playwright/pages/client.ts @@ -104,8 +104,8 @@ export class Client { public async sendMessage(roomId: string, content: IContent | string): Promise { if (typeof content === "string") { content = { - body: content, msgtype: "m.text", + body: content, }; } diff --git a/playwright/plugins/homeserver/synapse/templates/default/homeserver.yaml b/playwright/plugins/homeserver/synapse/templates/default/homeserver.yaml index e51ac1918f..a7f40ab402 100644 --- a/playwright/plugins/homeserver/synapse/templates/default/homeserver.yaml +++ b/playwright/plugins/homeserver/synapse/templates/default/homeserver.yaml @@ -92,3 +92,8 @@ oidc_providers: user_mapping_provider: config: display_name_template: "{{ user.name }}" + +# Inhibit background updates as this Synapse isn't long-lived +background_updates: + min_batch_size: 100000 + sleep_duration_ms: 100000 diff --git a/playwright/snapshots/permalinks/permalinks.spec.ts/permalink-rendering-linux.png b/playwright/snapshots/permalinks/permalinks.spec.ts/permalink-rendering-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..f32be24fb49c467793e7a700a5a71cc5d9453717 GIT binary patch literal 63058 zcmcG$bzD?$*FK7%7=Q>!Nhv9v(qSM-Bi$X+O82NpclRJ7Al)4!T|;-r07DJkF`PZ< z_j%sm=Y4r82fO@V<%NH>QPjLXf(7Q^pxg{3D*}X z%%c;{;EEKlW4B|6K2lnRV^KIszFHn3-p%#t0iQa(i(%sy)B+gWNbC-BZ=i0_?WFfvBV~B252o5~Vfn}fR6JuAQycBK6%F%w7 zbh_jRwMu-LmP<#^+TunGs+oQ2tDP?UMpBQe-I*n-cNH2ssX+lf)nwS01Do^0x^*Ra z%BUB1scNyUnGo>iFH{gZs2FsK=_QSJGc%iUuAJzjS_A~VD^!YH5f|H@g)YlM9wkRD zZ>We1PI)kCa#~3gzD}r^9SHBKTLWghOj_ zRDdoakv!2Wv;=≫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 h7gM-u}ED5==iW$OUYxu=Y<=q#lyi- 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