diff --git a/playwright/e2e/forgot-password/forgot-password.spec.ts b/playwright/e2e/forgot-password/forgot-password.spec.ts index 71475e892e..af4e6def7e 100644 --- a/playwright/e2e/forgot-password/forgot-password.spec.ts +++ b/playwright/e2e/forgot-password/forgot-password.spec.ts @@ -6,16 +6,25 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { expect, test } from "../../element-web-test"; +import { expect, test as base } from "../../element-web-test"; import { selectHomeserver } from "../utils"; import { emailHomeserver } from "../../plugins/homeserver/synapse/emailHomeserver.ts"; import { isDendrite } from "../../plugins/homeserver/dendrite"; +import { Credentials } from "../../plugins/homeserver"; -const username = "user1234"; -// this has to be password-like enough to please zxcvbn. Needless to say it's just from pwgen. -const password = "oETo7MPf0o"; const email = "user@nowhere.dummy"; +const test = base.extend<{ credentials: Pick }>({ + // eslint-disable-next-line no-empty-pattern + credentials: async ({}, use, testInfo) => { + await use({ + username: `user_${testInfo.testId}`, + // this has to be password-like enough to please zxcvbn. Needless to say it's just from pwgen. + password: "oETo7MPf0o", + }); + }, +}); + test.use(emailHomeserver); test.use({ config: { @@ -45,31 +54,35 @@ test.describe("Forgot Password", () => { await expect(page.getByRole("main")).toMatchScreenshot("forgot-password.png"); }); - test("renders email verification dialog properly", { tag: "@screenshot" }, async ({ page, homeserver }) => { - const user = await homeserver.registerUser(username, password); + test( + "renders email verification dialog properly", + { tag: "@screenshot" }, + async ({ page, homeserver, credentials }) => { + const user = await homeserver.registerUser(credentials.username, credentials.password); - await homeserver.setThreepid(user.userId, "email", email); + await homeserver.setThreepid(user.userId, "email", email); - await page.goto("/"); + await page.goto("/"); - await page.getByRole("link", { name: "Sign in" }).click(); - await selectHomeserver(page, homeserver.baseUrl); + await page.getByRole("link", { name: "Sign in" }).click(); + await selectHomeserver(page, homeserver.baseUrl); - await page.getByRole("button", { name: "Forgot password?" }).click(); + await page.getByRole("button", { name: "Forgot password?" }).click(); - await page.getByRole("textbox", { name: "Email address" }).fill(email); + await page.getByRole("textbox", { name: "Email address" }).fill(email); - await page.getByRole("button", { name: "Send email" }).click(); + await page.getByRole("button", { name: "Send email" }).click(); - await page.getByRole("button", { name: "Next" }).click(); + await page.getByRole("button", { name: "Next" }).click(); - await page.getByRole("textbox", { name: "New Password", exact: true }).fill(password); - await page.getByRole("textbox", { name: "Confirm new password", exact: true }).fill(password); + await page.getByRole("textbox", { name: "New Password", exact: true }).fill(credentials.password); + await page.getByRole("textbox", { name: "Confirm new password", exact: true }).fill(credentials.password); - await page.getByRole("button", { name: "Reset password" }).click(); + await page.getByRole("button", { name: "Reset password" }).click(); - await expect(page.getByRole("button", { name: "Resend" })).toBeInViewport(); + await expect(page.getByRole("button", { name: "Resend" })).toBeInViewport(); - await expect(page.locator(".mx_Dialog")).toMatchScreenshot("forgot-password-verify-email.png"); - }); + await expect(page.locator(".mx_Dialog")).toMatchScreenshot("forgot-password-verify-email.png"); + }, + ); }); diff --git a/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts b/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts index deefb305db..8a4401f5f2 100644 --- a/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts +++ b/playwright/e2e/one-to-one-chat/one-to-one-chat.spec.ts @@ -17,8 +17,8 @@ const test = base.extend<{ test.describe("1:1 chat room", () => { test.use({ displayName: "Jeff", - user2: async ({ homeserver }, use) => { - const credentials = await homeserver.registerUser("user1234", "p4s5W0rD", "Timmy"); + user2: async ({ homeserver }, use, testInfo) => { + const credentials = await homeserver.registerUser(`user2_${testInfo.testId}`, "p4s5W0rD", "Timmy"); await use(credentials); }, });