test(frontend): e2e admin smoke (create library + scan)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { creds } from "./helpers/api";
|
||||
|
||||
test("admin:建库 → 触发扫描(冒烟)", async ({ page }) => {
|
||||
const { user, pass } = creds();
|
||||
const libName = `e2e-admin-${Date.now()}`;
|
||||
|
||||
await page.goto("/login");
|
||||
await page.fill("#login-user", user);
|
||||
await page.fill("#login-pass", pass);
|
||||
await page.getByRole("button", { name: "登录", exact: true }).click();
|
||||
await expect(page).toHaveURL(/\/$/);
|
||||
|
||||
await page.goto("/admin/libraries");
|
||||
await page.getByPlaceholder(/库名/).fill(libName);
|
||||
await page.getByRole("button", { name: "建库" }).click();
|
||||
await expect(page.getByText(`库「${libName}」已创建`)).toBeVisible();
|
||||
// name cell 加 exact:路径 cell(服务端目录 /data/books/<库名>)的名称也含库名,子串匹配会 strict 双命中。
|
||||
await expect(page.getByRole("cell", { name: libName, exact: true })).toBeVisible();
|
||||
|
||||
const row = page.getByRole("row", { name: new RegExp(libName) });
|
||||
await row.getByRole("button", { name: /扫描/ }).click();
|
||||
await expect(page.getByText("扫描已触发")).toBeVisible();
|
||||
});
|
||||
Reference in New Issue
Block a user