feat: refine mdtodo project workspace
This commit is contained in:
@@ -19,17 +19,27 @@ test.describe("project management pages", () => {
|
||||
await expect(page.getByTestId("mdtodo-source-select")).toHaveValue("hwlab-v03-mdtodo");
|
||||
await expect(page.getByTestId("mdtodo-file-select")).toHaveValue("file_plan");
|
||||
await expect(page.getByTestId("mdtodo-file-select")).toContainText("hwlab-v03-mdtodo-web-sample.md");
|
||||
await expect(page.getByTestId("mdtodo-file-select")).toContainText("20260609_频率判断_用户反馈.md");
|
||||
await expect(page.getByTestId("mdtodo-file-select")).not.toContainText("Task_Report");
|
||||
await expect(page.locator(".mdtodo-summary-grid .metric-card")).toHaveCount(0);
|
||||
await expect(page.locator(".mdtodo-source-panel")).toHaveCount(0);
|
||||
await expect(page.locator(".mdtodo-file-panel")).toHaveCount(0);
|
||||
const outlineRatio = await page.locator(".mdtodo-task-panel").evaluate((panel) => {
|
||||
const workspace = panel.closest(".mdtodo-workspace");
|
||||
if (!workspace) return 0;
|
||||
return panel.getBoundingClientRect().width / workspace.getBoundingClientRect().width;
|
||||
});
|
||||
expect(outlineRatio).toBeGreaterThan(0.24);
|
||||
expect(outlineRatio).toBeLessThan(0.36);
|
||||
await expect(page.getByTestId("mdtodo-task-tree")).toContainText("实现项目根导航");
|
||||
await expect(page.locator('[data-task-id="R1"]')).toBeVisible();
|
||||
await expect(page.locator('[data-task-id="R1.1"]')).toBeVisible();
|
||||
await expect(page.locator('[data-task-id="R1.1.1"]')).toBeVisible();
|
||||
await expect(page.getByTestId("mdtodo-task-detail")).toContainText("mdtodo:hwlab-v03-mdtodo:file_plan:R1");
|
||||
await expect(page.getByTestId("mdtodo-task-detail")).not.toContainText("mdtodo:hwlab-v03-mdtodo:file_plan:R1");
|
||||
await expect(page.getByTestId("mdtodo-body-rendered")).toContainText("Root notes");
|
||||
await page.getByTestId("mdtodo-report-link").click();
|
||||
await expect(page.getByTestId("mdtodo-report-preview")).toContainText("Report body from fake server");
|
||||
await expect(page).toHaveURL(/\/projects\/mdtodo\/sources\/hwlab-v03-mdtodo\/files\/file_plan\/tasks\/R1\/reports\/lnk_r11_report/u);
|
||||
await page.getByTestId("mdtodo-report-fullscreen").click();
|
||||
await expect(page.getByTestId("mdtodo-report-fullscreen-dialog")).toContainText("R1.1 implementation report");
|
||||
await page.getByLabel("关闭报告").click();
|
||||
@@ -37,7 +47,23 @@ test.describe("project management pages", () => {
|
||||
await expect(page.getByTestId("mdtodo-info-popover")).toContainText("Source");
|
||||
await expect(page.getByTestId("mdtodo-info-popover")).toContainText("Files");
|
||||
await expect(page.getByTestId("mdtodo-info-popover")).toContainText("Tasks");
|
||||
await expect(page.getByTestId("mdtodo-info-popover")).toContainText("TaskRef");
|
||||
await expect(page.getByTestId("mdtodo-info-popover")).toContainText("mdtodo:hwlab-v03-mdtodo:file_plan:R1");
|
||||
await page.getByLabel("关闭摘要").click();
|
||||
|
||||
await page.getByTestId("mdtodo-file-select").selectOption("file_feedback");
|
||||
await expect(page).toHaveURL(/\/projects\/mdtodo\/sources\/hwlab-v03-mdtodo\/files\/file_feedback\/tasks\/R1/u);
|
||||
await expect(page.getByTestId("mdtodo-title-read")).toContainText("这是用户的反馈");
|
||||
await expect(page.getByTestId("mdtodo-body-rendered")).toContainText("sys_trip");
|
||||
await page.getByTestId("mdtodo-report-link").click();
|
||||
await expect(page.getByTestId("mdtodo-report-preview")).toContainText("int_trip");
|
||||
await expect(page.getByTestId("mdtodo-report-preview")).toContainText("sys_trip");
|
||||
const reportPreBg = await page.locator('[data-testid="mdtodo-report-preview"] pre').first().evaluate((node) => getComputedStyle(node).backgroundColor);
|
||||
expect(reportPreBg).not.toBe("rgb(15, 23, 42)");
|
||||
await page.getByTestId("mdtodo-file-select").selectOption("file_plan");
|
||||
await expect(page).toHaveURL(/\/projects\/mdtodo\/sources\/hwlab-v03-mdtodo\/files\/file_plan\/tasks\/R1/u);
|
||||
await expect(page.getByTestId("mdtodo-title-read")).toContainText("实现项目根导航");
|
||||
|
||||
await page.getByTestId("mdtodo-source-config-open").click();
|
||||
await expect(page.getByTestId("mdtodo-source-config-dialog")).toBeVisible();
|
||||
await expect(page.getByTestId("mdtodo-source-form-hwpod")).toHaveValue("d601-f103-v2");
|
||||
@@ -45,7 +71,7 @@ test.describe("project management pages", () => {
|
||||
await page.getByTestId("mdtodo-source-probe").click();
|
||||
await expect(page.getByTestId("mdtodo-source-message")).toContainText("Probe ok");
|
||||
await page.getByTestId("mdtodo-source-reindex-dialog").click();
|
||||
await expect(page.getByTestId("mdtodo-source-message")).toContainText("Reindex 2 files / 4 tasks");
|
||||
await expect(page.getByTestId("mdtodo-source-message")).toContainText("Reindex 3 files / 5 tasks");
|
||||
await page.getByLabel("关闭配置").click();
|
||||
await page.getByTestId("mdtodo-title-read").dblclick();
|
||||
await page.getByTestId("mdtodo-edit-title").fill("实现项目根导航 - edited");
|
||||
@@ -58,11 +84,15 @@ test.describe("project management pages", () => {
|
||||
await page.getByTestId("mdtodo-edit-body").fill("Body saved from Playwright.");
|
||||
await page.getByTestId("mdtodo-edit-body-save").click();
|
||||
await expect(page.getByTestId("mdtodo-task-mutation-message")).toContainText("正文已保存");
|
||||
await expect(page.locator(".task-create-box")).toHaveCount(0);
|
||||
await page.getByTestId("mdtodo-new-task-open").click();
|
||||
await expect(page.getByTestId("mdtodo-task-create-dialog")).toBeVisible();
|
||||
await page.getByTestId("mdtodo-new-title").fill("Playwright child");
|
||||
await page.getByTestId("mdtodo-new-body").fill("Child from E2E.");
|
||||
await page.getByTestId("mdtodo-add-subtask").click();
|
||||
await expect(page.getByTestId("mdtodo-task-mutation-message")).toContainText("任务已创建");
|
||||
await expect(page.locator('[data-task-id="R1.2"]')).toContainText("Playwright child");
|
||||
await page.getByTestId("mdtodo-new-task-open").click();
|
||||
await page.getByTestId("mdtodo-new-title").fill("Playwright sibling");
|
||||
await page.getByTestId("mdtodo-continue-task").click();
|
||||
await expect(page.locator('[data-task-id="R1.3"]')).toContainText("Playwright sibling");
|
||||
|
||||
Reference in New Issue
Block a user