feat(FN-2608): merge fusion/fn-2608 (auto-resolved)
- feat(FN-2608): complete Step 6 — verify lint test build gates - feat(FN-2608): complete Step 5 — resume auto-merge on in-review unpause - feat(FN-2608): complete Step 4 — pause-aware self-healing recovery - feat(FN-2608): complete Step 3 — interrupt active merges on pause - feat(FN-2608): complete Step 2 — guard auto-merge for paused review tasks - feat(FN-2608): complete Step 1 — pause status for in-review tasks
This commit is contained in:
@@ -3474,6 +3474,21 @@ describe("TaskStore", () => {
|
||||
expect(unpaused.status).toBeUndefined();
|
||||
});
|
||||
|
||||
it("sets and clears paused status for in-review tasks", async () => {
|
||||
const task = await createTestTask();
|
||||
await store.moveTask(task.id, "todo");
|
||||
await store.moveTask(task.id, "in-progress");
|
||||
await store.moveTask(task.id, "in-review");
|
||||
|
||||
const paused = await store.pauseTask(task.id, true);
|
||||
expect(paused.paused).toBe(true);
|
||||
expect(paused.status).toBe("paused");
|
||||
|
||||
const unpaused = await store.pauseTask(task.id, false);
|
||||
expect(unpaused.paused).toBeUndefined();
|
||||
expect(unpaused.status).toBeUndefined();
|
||||
});
|
||||
|
||||
it("round-trips pause/unpause correctly", async () => {
|
||||
const task = await createTestTask();
|
||||
|
||||
|
||||
@@ -2828,9 +2828,9 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
|
||||
}
|
||||
|
||||
task.paused = paused || undefined;
|
||||
// When pausing an in-progress task, set status so the UI can show the state.
|
||||
// When pausing an in-progress/in-review task, set status so the UI can show the state.
|
||||
// When unpausing, clear the "paused" status.
|
||||
if (task.column === "in-progress") {
|
||||
if (task.column === "in-progress" || task.column === "in-review") {
|
||||
task.status = paused ? "paused" : undefined;
|
||||
}
|
||||
const now = new Date().toISOString();
|
||||
|
||||
Reference in New Issue
Block a user