Initial commit: site monorepo with API, web, and infra.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import {
|
||||
loginViaUi,
|
||||
registerUser,
|
||||
uniqueEmail,
|
||||
verifyEmail
|
||||
} from "../helpers/api";
|
||||
|
||||
test.describe("§15.7 scenario 2: Auth full journey", () => {
|
||||
test("register → verify → login → profile edit → change password → logout", async ({
|
||||
page,
|
||||
request
|
||||
}) => {
|
||||
const email = uniqueEmail("e2e-flow");
|
||||
const password = "Valid1234";
|
||||
const newPassword = "NewValid1";
|
||||
|
||||
await registerUser(request, email, password);
|
||||
await verifyEmail(request, email);
|
||||
|
||||
await loginViaUi(page, email, password);
|
||||
await expect(page).toHaveURL(/\/profile$/);
|
||||
await expect(page.getByText(email)).toBeVisible();
|
||||
|
||||
await page.getByLabel("Display name").fill("E2E User");
|
||||
await page.getByRole("button", { name: "Save name" }).click();
|
||||
await expect(page.getByText("Profile updated")).toBeVisible();
|
||||
|
||||
await page.getByPlaceholder("Current password").fill(password);
|
||||
await page.getByPlaceholder("New password").fill(newPassword);
|
||||
await page.getByRole("button", { name: "Change password" }).click();
|
||||
await expect(page.getByText("Password changed")).toBeVisible();
|
||||
|
||||
await page.getByRole("button", { name: "Logout" }).click();
|
||||
await expect(page).toHaveURL(/\/login$/);
|
||||
|
||||
await loginViaUi(page, email, newPassword);
|
||||
await expect(page).toHaveURL(/\/profile$/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user