fix(tasks): 任务取消 - 禁止取消已开始的生成任务

This commit is contained in:
ddCat
2026-08-21 17:06:05 +08:00
parent 1af765d52a
commit 7418ddfa9c
7 changed files with 88 additions and 41 deletions

View File

@@ -35,3 +35,22 @@ describe("media fallback", () => {
expect(page).toContain("onUnavailable={() => setUnavailableUrl(url)}");
});
});
describe("task cancellation policy", () => {
test("offers cancellation only while a task is queued", () => {
const shared = source("../src/pages/tasks/task-shared.tsx");
const list = source("../src/pages/tasks/task-list-row.tsx");
const grid = source("../src/pages/tasks/task-grid-card.tsx");
const page = source("../src/pages/tasks/index.tsx");
expect(shared).toContain('return task.status === "queued";');
expect(list).toContain("const isCancellable = isTaskCancellable(task);");
expect(list).toContain("{isCancellable ? (");
expect(grid).toContain("const isCancellable = isTaskCancellable(task);");
expect(grid).toContain("{isCancellable ? (");
expect(page).toContain('if (action === "cancel" && currentTask && !isTaskCancellable(currentTask))');
expect(page).toContain('message.warning("任务已开始生成,无法取消")');
expect(page).toContain('detailTask.provider === "dreamina-cli" && isTaskCancellable(detailTask)');
expect(page).not.toContain('detailTask.status === "queued" || detailTask.status === "running"');
});
});