app-template/e2e/auth.spec.ts

26 lines
1.0 KiB
TypeScript

import { expect, test } from "@playwright/test";
test("未登录访问 /zh-CN/dashboard 跳转登录并带 next", async ({ page }) => {
await page.goto("/zh-CN/dashboard");
await expect(page).toHaveURL(/\/zh-CN\/auth\/login\?next=/);
await expect(page.getByRole("heading", { name: "登录" })).toBeVisible();
});
test("未登录访问 /en/library 跳转英文登录页", async ({ page }) => {
await page.goto("/en/library");
await expect(page).toHaveURL(/\/en\/auth\/login\?next=/);
});
test("登录页渲染用户名/密码表单", async ({ page }) => {
await page.goto("/zh-CN/auth/login");
await expect(page.getByLabel("用户名")).toBeVisible();
await expect(page.getByLabel("密码")).toBeVisible();
await expect(page.getByRole("button", { name: "登录" })).toBeVisible();
});
test("注册页可达", async ({ page }) => {
const res = await page.goto("/zh-CN/auth/register");
expect(res?.status()).toBe(200);
await expect(page.getByLabel("邮箱")).toBeVisible();
});