From 1db3f76715144b8958312f3ca66223f68e5b6fc4 Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Wed, 22 May 2024 01:30:58 +0000 Subject: [PATCH] Test admins can update user passwords --- .../tests/acceptance/playwright/admin.test.ts | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/system/modules/admin/tests/acceptance/playwright/admin.test.ts b/system/modules/admin/tests/acceptance/playwright/admin.test.ts index 8f115d8e2..8d8de15f8 100644 --- a/system/modules/admin/tests/acceptance/playwright/admin.test.ts +++ b/system/modules/admin/tests/acceptance/playwright/admin.test.ts @@ -1,9 +1,44 @@ import { expect, test } from "@playwright/test"; -import { GLOBAL_TIMEOUT, CmfiveHelper } from "@utils/cmfive"; import { AdminHelper } from "@utils/admin"; +import { CmfiveHelper, GLOBAL_TIMEOUT, HOST } from "@utils/cmfive"; test.describe.configure({mode: 'parallel'}); +test("Admin can update password of user", async ({ page }) => { + test.setTimeout(GLOBAL_TIMEOUT); + CmfiveHelper.acceptDialog(page); + + await CmfiveHelper.login(page, "admin", "admin"); + + const user = CmfiveHelper.randomID("user_"); + await AdminHelper.createUser( + page, + user, + user + "_password", + user + "_firstName", + user + "_lastName", + user + "@localhost.com" + ); + + await page.goto(`${HOST}/admin/users`); + + const row = CmfiveHelper.getRowByText(page, user); + const edit = row.getByRole("button", { name: "Edit" }); + await edit.click(); + + const security = page.getByRole('link', { name: 'Security' }); + await security.waitFor(); + await security.click(); + + await page.getByLabel('New Password', { exact: true }).fill("test password"); + await page.getByLabel('Repeat New Password', { exact: true }).fill("test password"); + await page.getByRole('button', { name: 'Update Password' }).click(); + + await CmfiveHelper.logout(page); + + await CmfiveHelper.login(page, user, "test password"); +}); + test("Test that an admin can create and delete a user", async ({ page }) => { test.setTimeout(GLOBAL_TIMEOUT); CmfiveHelper.acceptDialog(page);