test(FN-4904): cover worktree-root lookup in extension tools
Fusion-Task-Id: FN-4904 Fusion-Task-Lineage: 5da52c8c-0ed6-4e3a-920e-aa1b56d0b719
This commit is contained in:
committed by
gsxdsm
parent
47eaf089bf
commit
0dc4c9c6a0
5
.changeset/fn-4904-worktree-project-root.md
Normal file
5
.changeset/fn-4904-worktree-project-root.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@runfusion/fusion": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix `fn_task_show`, `fn_task_list`, and other pi-extension task tools so they resolve the canonical project root when invoked from inside a Fusion task worktree, instead of binding to a stray worktree-local `.fusion` database.
|
||||||
@@ -32,6 +32,7 @@ vi.mock("@fusion/core", () => ({
|
|||||||
formatRoleMismatchReason: vi.fn(() => ""),
|
formatRoleMismatchReason: vi.fn(() => ""),
|
||||||
resolveAgentProvisioningPolicy: vi.fn(() => ({ approvalMode: "auto" })),
|
resolveAgentProvisioningPolicy: vi.fn(() => ({ approvalMode: "auto" })),
|
||||||
TASK_PRIORITIES: ["low", "normal", "high", "urgent"],
|
TASK_PRIORITIES: ["low", "normal", "high", "urgent"],
|
||||||
|
getProjectRootFromWorktree: vi.fn(() => null),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock("@fusion/dashboard", () => ({
|
vi.mock("@fusion/dashboard", () => ({
|
||||||
|
|||||||
@@ -2,16 +2,6 @@ import { describe, expect, it, vi } from "vitest";
|
|||||||
import { mkdtemp, mkdir, rm } from "node:fs/promises";
|
import { mkdtemp, mkdir, rm } from "node:fs/promises";
|
||||||
import { tmpdir } from "node:os";
|
import { tmpdir } from "node:os";
|
||||||
import { join } from "node:path";
|
import { join } from "node:path";
|
||||||
|
|
||||||
vi.mock("@fusion/dashboard", () => ({
|
|
||||||
registerGithubTrackingHook: vi.fn(),
|
|
||||||
}));
|
|
||||||
|
|
||||||
vi.mock("@fusion/engine", () => ({
|
|
||||||
createFnAgent: vi.fn(),
|
|
||||||
fetchWebContent: vi.fn(),
|
|
||||||
}));
|
|
||||||
|
|
||||||
import kbExtension from "../extension.js";
|
import kbExtension from "../extension.js";
|
||||||
import { TaskStore } from "@fusion/core";
|
import { TaskStore } from "@fusion/core";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user