fix(FN-5188): complete Step 5 — restore green verification
Fusion-Task-Id: FN-5188 Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
This commit is contained in:
committed by
gsxdsm
parent
9c59f1da0d
commit
7fe6cd362a
@@ -306,8 +306,15 @@ const mockListen = vi.fn((port: number) => {
|
||||
|
||||
vi.mock("@fusion/dashboard", () => ({
|
||||
createServer: vi.fn((_store: unknown, opts: Record<string, any> = {}) => {
|
||||
if (opts.engine && !opts.onMerge) {
|
||||
opts.onMerge = (taskId: string) => opts.engine.onMerge(taskId);
|
||||
if (!opts.onMerge) {
|
||||
if (opts.engine) {
|
||||
opts.onMerge = (taskId: string) => opts.engine.onMerge(taskId);
|
||||
} else if (opts.engineManager?.ensureEngine) {
|
||||
opts.onMerge = async (taskId: string) => {
|
||||
const engine = await opts.engineManager.ensureEngine("project-1");
|
||||
return engine?.onMerge(taskId);
|
||||
};
|
||||
}
|
||||
}
|
||||
opts.onProjectFirstAccessed?.("project-1");
|
||||
return { listen: mockListen };
|
||||
@@ -1249,7 +1256,9 @@ describe("runDashboard — WorktreePool wiring", () => {
|
||||
|
||||
await managerInstance.getEngine("project-1").onMerge("FN-TEST");
|
||||
|
||||
expect(aiMergeTask).toHaveBeenCalled();
|
||||
await waitForAsyncExpectation(() => {
|
||||
expect(aiMergeTask).toHaveBeenCalled();
|
||||
});
|
||||
const mergeCallOpts = (aiMergeTask as ReturnType<typeof vi.fn>).mock.calls[0][3];
|
||||
expect(mergeCallOpts.pool).toBeInstanceOf(WorktreePool);
|
||||
});
|
||||
@@ -1267,6 +1276,11 @@ describe("runDashboard — WorktreePool wiring", () => {
|
||||
|
||||
await managerInstance.getEngine("project-1").onMerge("FN-TEST");
|
||||
|
||||
await waitForAsyncExpectation(() => {
|
||||
expect(capturedExecutorOpts).toBeDefined();
|
||||
expect((aiMergeTask as ReturnType<typeof vi.fn>).mock.calls[0]?.[3]?.pool).toBeDefined();
|
||||
});
|
||||
|
||||
const executorPool = capturedExecutorOpts!.pool;
|
||||
const mergerPool = (aiMergeTask as ReturnType<typeof vi.fn>).mock.calls[0][3].pool;
|
||||
|
||||
@@ -2524,7 +2538,7 @@ describe("runDashboard — PR feedback follow-up wiring", () => {
|
||||
await capturedOnClosedPrFeedback("FN-001", mockPrInfo, mockComments);
|
||||
|
||||
// The PrCommentHandler mock should have been called
|
||||
const handlerInstance = (PrCommentHandler as unknown as ReturnType<typeof vi.fn>).mock.results[0].value;
|
||||
const handlerInstance = (PrCommentHandler as unknown as ReturnType<typeof vi.fn>).mock.results.at(-1)?.value;
|
||||
expect(handlerInstance.createFollowUpTask).toHaveBeenCalledWith("FN-001", mockPrInfo, mockComments);
|
||||
});
|
||||
|
||||
|
||||
@@ -316,7 +316,7 @@ describe("Database", () => {
|
||||
expect(bootstrappedAt).toBeGreaterThan(0);
|
||||
expect(bootstrappedAt).toBeLessThanOrEqual(Date.now());
|
||||
|
||||
const reopened = new Database(tempDir);
|
||||
const reopened = new Database(fusionDir);
|
||||
reopened.init();
|
||||
try {
|
||||
expect(reopened.getBootstrappedAt()).toBe(bootstrappedAt);
|
||||
|
||||
@@ -14,6 +14,7 @@ function createStore(): TaskStore & EventEmitter {
|
||||
(emitter as any).moveTask = vi.fn().mockResolvedValue(undefined);
|
||||
(emitter as any).logEntry = vi.fn().mockResolvedValue(undefined);
|
||||
(emitter as any).recordRunAuditEvent = vi.fn().mockResolvedValue(undefined);
|
||||
(emitter as any).getBootstrappedAt = vi.fn(() => null);
|
||||
(emitter as any).createTask = vi.fn();
|
||||
(emitter as any).clearStaleExecutionStartBranchReferences = vi.fn().mockReturnValue([]);
|
||||
return emitter;
|
||||
|
||||
@@ -159,6 +159,7 @@ function createMockStore(overrides: Record<string, unknown> = {}): TaskStore & E
|
||||
listTasks: vi.fn().mockResolvedValue([]),
|
||||
createTask: vi.fn().mockResolvedValue({ id: "FN-RESCUE", lineageId: "lin-rescue" }),
|
||||
recordRunAuditEvent: vi.fn().mockResolvedValue(undefined),
|
||||
getBootstrappedAt: vi.fn().mockReturnValue(null),
|
||||
getRootDir: vi.fn().mockReturnValue("/tmp/test-project"),
|
||||
clearStaleExecutionStartBranchReferences: vi.fn().mockReturnValue([]),
|
||||
...overrides,
|
||||
|
||||
Reference in New Issue
Block a user