(overrides: Partial<TaskNotesPlugin> = {})
| 44 | }; |
| 45 | |
| 46 | function createPlugin(overrides: Partial<TaskNotesPlugin> = {}): TaskNotesPlugin { |
| 47 | return { |
| 48 | app: {}, |
| 49 | settings: { |
| 50 | defaultTaskStatus: "open", |
| 51 | enableDebugLogging: false, |
| 52 | }, |
| 53 | statusManager: { |
| 54 | getCompletedStatuses: jest.fn(() => ["done"]), |
| 55 | getNextStatus: jest.fn(() => "done"), |
| 56 | getPreviousStatus: jest.fn(() => "backlog"), |
| 57 | isCompletedStatus: jest.fn((status: string) => status === "done"), |
| 58 | }, |
| 59 | cacheManager: { |
| 60 | getTaskInfo: jest.fn(async () => task), |
| 61 | }, |
| 62 | updateTaskProperty: jest.fn(async (updatedTask, property, value) => ({ |
| 63 | ...updatedTask, |
| 64 | [property]: value, |
| 65 | })), |
| 66 | toggleRecurringTaskComplete: jest.fn(async (updatedTask) => ({ |
| 67 | ...updatedTask, |
| 68 | status: "done", |
| 69 | })), |
| 70 | applyProjectSubtaskFilter: jest.fn(async () => undefined), |
| 71 | ...overrides, |
| 72 | } as unknown as TaskNotesPlugin; |
| 73 | } |
| 74 | |
| 75 | async function flushAsyncHandlers(): Promise<void> { |
| 76 | await Promise.resolve(); |
no outgoing calls
no test coverage detected