Files
myeasycms-v2/apps/e2e/tests/authentication/password-reset.spec.ts
Giancarlo Buomprisco 2c0d0bf7a1 Next.js 16, React 19.2, Identities page, Invitations identities step, PNPM Catalogs (#381)
* Upgraded to Next.js 16
* Refactored code to comply with React 19.2 ESLint rules
* Refactored some useEffect usages with the new useEffectEvent
* Added Identities page and added second step to set up an identity after accepting an invitation
* Updated all dependencies
* Introduced PNPM catalogs for some frequently updated dependencies
* Bugs fixing and improvements
2025-10-22 11:47:47 +09:00

50 lines
1.1 KiB
TypeScript

import { expect, test } from '@playwright/test';
import { AuthPageObject } from './auth.po';
const newPassword = (Math.random() * 10000).toString();
test.describe('Password Reset Flow', () => {
test('will reset the password and sign in with new one', async ({ page }) => {
const auth = new AuthPageObject(page);
let email = '';
await expect(async () => {
email = auth.createRandomEmail();
auth.bootstrapUser({
email,
password: 'password',
name: 'Test User',
});
await page.goto('/auth/password-reset');
await page.fill('[name="email"]', email);
await page.click('[type="submit"]');
await auth.visitConfirmEmailLink(email, {
deleteAfter: true,
subject: 'Reset your password',
});
await page.waitForURL(new RegExp('/update-password?.*'));
await auth.updatePassword(newPassword);
await page.waitForURL('/home');
}).toPass();
await page.context().clearCookies();
await page.reload();
await page.goto('/auth/sign-in');
await auth.loginAsUser({
email,
password: newPassword,
next: '/home',
});
});
});