28 lines
1.7 KiB
TypeScript
28 lines
1.7 KiB
TypeScript
// SPEC: PJ2026-010404 项目管理 draft-2026-06-25-p0-project-management-mdtodo.
|
|
// Responsibility: Fake-server browser regression for project root and MDTODO pages.
|
|
|
|
import { expect, saveScreenshot, test } from "../fixtures/test";
|
|
|
|
test.describe("project management pages", () => {
|
|
test("renders project root and MDTODO DTOs without Workbench embedding", async ({ page }, testInfo) => {
|
|
await page.goto("/projects");
|
|
await expect(page.getByTestId("project-management-root")).toBeVisible();
|
|
await expect(page.getByTestId("project-management-summary")).toContainText("Projects");
|
|
await expect(page.getByTestId("project-list")).toContainText("HWLAB MDTODO");
|
|
await expect(page.getByTestId("project-source-list")).toContainText("mdtodo-file-tree");
|
|
await expect(page.getByText("[redacted]")).toHaveCount(0);
|
|
|
|
await page.getByTestId("open-mdtodo-page").click();
|
|
await expect(page).toHaveURL(/\/projects\/mdtodo/u);
|
|
await expect(page.getByTestId("project-management-mdtodo")).toBeVisible();
|
|
await expect(page.getByTestId("mdtodo-source-list")).toContainText("HWLAB MDTODO");
|
|
await expect(page.getByTestId("mdtodo-file-list")).toContainText("项目管理任务");
|
|
await expect(page.getByTestId("mdtodo-task-tree")).toContainText("实现项目根导航");
|
|
await expect(page.getByTestId("mdtodo-task-detail")).toContainText("mdtodo:hwlab-v03-mdtodo:file_plan:t1");
|
|
await expect(page.getByTestId("mdtodo-workbench-link-summary")).toContainText("ses_project_seed");
|
|
await expect(page.getByTestId("mdtodo-workbench-launch")).toBeDisabled();
|
|
await expect(page.locator("iframe")).toHaveCount(0);
|
|
await saveScreenshot(page, testInfo, "project-management-mdtodo");
|
|
});
|
|
});
|