Q43: manual runs refuse done tasks and tasks with a session in flight
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9be5ad06c1
commit
5698e61e5a
8 files changed
+86
-12
No files matched your search
@@ -0,0 +1,17 @@
|
||||
import { describe, expect, test } from "vitest";
|
||||
import { runBlocker } from "../../src/renderer/src/pages/work/task-helpers";
|
||||
import type { ProviderRecord, TaskRecord, TaskRunRecord } from "../../src/shared/domain";
|
||||
|
||||
const provider = { enabled: true, authState: "configured" } as ProviderRecord;
|
||||
const task = (status: TaskRecord["status"]) => ({ id: "tsk_1", status }) as TaskRecord;
|
||||
const run = (state: string, taskId = "tsk_1") => ({ taskId, state }) as TaskRunRecord;
|
||||
|
||||
describe("run blocker", () => {
|
||||
test("a manual run needs a provider, an open task and no session in flight", () => {
|
||||
expect(runBlocker(task("in_progress"), provider, [run("completed"), run("running", "tsk_other")])).toBeNull();
|
||||
expect(runBlocker(task("in_progress"), null, [])).toBe("Connect a provider to run");
|
||||
expect(runBlocker(task("done"), provider, [])).toBe("Done tasks do not run");
|
||||
expect(runBlocker(task("backlog"), provider, [run("queued")])).toBe("A session is already queued or running");
|
||||
expect(runBlocker(task("review"), provider, [run("running")])).toBe("A session is already queued or running");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user