import { expect, Page } from "@playwright/test"; const passwordField = "password-text-input"; const passwordConfirmField = "password-confirm-text-input"; const lengthCheck = "length-check"; const symbolCheck = "symbol-check"; const numberCheck = "number-check"; const uppercaseCheck = "uppercase-check"; const lowercaseCheck = "lowercase-check"; const equalCheck = "equal-check"; const matchText = "Matches"; const noMatchText = "Doesn't match"; export async function changePasswordScreen(page: Page, password1: string, password2: string) { await page.getByTestId(passwordField).pressSequentially(password1); await page.getByTestId(passwordConfirmField).pressSequentially(password2); } export async function passwordScreen(page: Page, password: string) { await page.getByTestId(passwordField).pressSequentially(password); } export async function passwordScreenExpect(page: Page, password: string) { await expect(page.getByTestId(passwordField)).toHaveValue(password); await expect(page.getByTestId("error").locator("div")).toContainText("Could not verify password"); } export async function changePasswordScreenExpect( page: Page, password1: string, password2: string, length: boolean, symbol: boolean, number: boolean, uppercase: boolean, lowercase: boolean, equals: boolean, ) { await expect(page.getByTestId(passwordField)).toHaveValue(password1); await expect(page.getByTestId(passwordConfirmField)).toHaveValue(password2); await checkContent(page, lengthCheck, length); await checkContent(page, symbolCheck, symbol); await checkContent(page, numberCheck, number); await checkContent(page, uppercaseCheck, uppercase); await checkContent(page, lowercaseCheck, lowercase); await checkContent(page, equalCheck, equals); } async function checkContent(page: Page, testid: string, match: boolean) { if (match) { await expect(page.getByTestId(testid)).toContainText(matchText); } else { await expect(page.getByTestId(testid)).toContainText(noMatchText); } }