From f2f06a516b8d99b185a6f598dd196167334d2021 Mon Sep 17 00:00:00 2001 From: XingfenD Date: Wed, 16 Sep 2026 10:48:23 +0800 Subject: [PATCH] test(frontend): e2e admin smoke (create library + scan) --- frontend/e2e/admin-smoke.spec.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 frontend/e2e/admin-smoke.spec.ts diff --git a/frontend/e2e/admin-smoke.spec.ts b/frontend/e2e/admin-smoke.spec.ts new file mode 100644 index 0000000..d125197 --- /dev/null +++ b/frontend/e2e/admin-smoke.spec.ts @@ -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(); +});