25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
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();
|
|
});
|