Initial commit: site monorepo with API, web, and infra.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { API_URL, fetchLatestToken, registerVerifyLogin, uniqueEmail } from "../helpers/api";
|
||||
|
||||
test.describe("§15.7 scenario 3: Password reset", () => {
|
||||
test("forgot password → reset → login with new password", async ({ request }) => {
|
||||
const email = uniqueEmail("e2e-reset");
|
||||
const oldPassword = "Valid1234";
|
||||
const newPassword = "ResetValid1";
|
||||
|
||||
await registerVerifyLogin(request, email, oldPassword);
|
||||
|
||||
const forgot = await request.post(`${API_URL}/api/v1/auth/forgot-password`, {
|
||||
data: { email }
|
||||
});
|
||||
expect(forgot.ok()).toBeTruthy();
|
||||
|
||||
const token = await fetchLatestToken(request, email, "reset_password");
|
||||
const reset = await request.post(`${API_URL}/api/v1/auth/reset-password`, {
|
||||
data: { token, new_password: newPassword }
|
||||
});
|
||||
expect(reset.ok()).toBeTruthy();
|
||||
|
||||
const oldLogin = await request.post(`${API_URL}/api/v1/auth/login`, {
|
||||
data: { email, password: oldPassword }
|
||||
});
|
||||
expect(oldLogin.status()).toBe(401);
|
||||
|
||||
const newLogin = await request.post(`${API_URL}/api/v1/auth/login`, {
|
||||
data: { email, password: newPassword }
|
||||
});
|
||||
expect(newLogin.ok()).toBeTruthy();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user