Files
sim/packages/testing/src/mocks/folders-lifecycle.mock.ts
T
Waleed 5b7cf99126 feat(folders): add the generic resourceType-driven folder engine (#6037)
- Replaces the workflow-hardcoded folder orchestration with a config-driven engine: one implementation parameterized by `FOLDER_RESOURCES`, with `lib/workflows/orchestration/folder-lifecycle.ts` reduced from 620 lines to thin wrappers so no existing caller moved
- Threads `resourceType` through all four folder routes and the React Query keys; contract widened to `workflow | knowledge_base | table`
- Folder locking moved behind a `supportsLocking` capability rather than scattered `resourceType === 'workflow'` checks
- Folder restore now matches dependents by the cascade timestamp, so a schedule or webhook archived independently before a folder delete stays archived (deliberate behavior change, documented in the PR)
- 25 cascade tests including a fixed-statement-count assertion guarding against N+1 regressions
2026-07-28 19:29:07 -07:00

36 lines
1.0 KiB
TypeScript

import { vi } from 'vitest'
/**
* Controllable mock functions for `@/lib/folders/lifecycle` — the generic,
* resourceType-driven folder engine behind every `/api/folders` route.
* All defaults are bare `vi.fn()` — configure per-test as needed.
*
* @example
* ```ts
* import { foldersLifecycleMockFns } from '@sim/testing'
*
* foldersLifecycleMockFns.mockCreateFolder.mockResolvedValue({ success: true, folder })
* ```
*/
export const foldersLifecycleMockFns = {
mockCreateFolder: vi.fn(),
mockUpdateFolder: vi.fn(),
mockDeleteFolder: vi.fn(),
mockRestoreFolder: vi.fn(),
}
/**
* Static mock module for `@/lib/folders/lifecycle`.
*
* @example
* ```ts
* vi.mock('@/lib/folders/lifecycle', () => foldersLifecycleMock)
* ```
*/
export const foldersLifecycleMock = {
createFolder: foldersLifecycleMockFns.mockCreateFolder,
updateFolder: foldersLifecycleMockFns.mockUpdateFolder,
deleteFolder: foldersLifecycleMockFns.mockDeleteFolder,
restoreFolder: foldersLifecycleMockFns.mockRestoreFolder,
}