| 99 | } |
| 100 | |
| 101 | function createMockEdgeManager( |
| 102 | processOutgoingEdgesImpl?: (node: DAGNode) => string[] |
| 103 | ): MockEdgeManager { |
| 104 | const mockFn = vi.fn().mockImplementation(processOutgoingEdgesImpl || (() => [])) |
| 105 | return { |
| 106 | processOutgoingEdges: mockFn, |
| 107 | isNodeReady: vi.fn().mockReturnValue(true), |
| 108 | deactivateEdgeAndDescendants: vi.fn(), |
| 109 | restoreIncomingEdge: vi.fn(), |
| 110 | clearDeactivatedEdges: vi.fn(), |
| 111 | clearDeactivatedEdgesForNodes: vi.fn(), |
| 112 | getDeactivatedEdges: vi.fn(() => []), |
| 113 | getNodesWithActivatedEdge: vi.fn(() => []), |
| 114 | markNodeWithActivatedEdge: vi.fn(), |
| 115 | deactivateResumedEdge: vi.fn(), |
| 116 | hasActivatedEdge: vi.fn(() => false), |
| 117 | } as unknown as MockEdgeManager |
| 118 | } |
| 119 | |
| 120 | interface MockNodeOrchestrator extends NodeExecutionOrchestrator { |
| 121 | executionCount: number |