| 52 | } |
| 53 | |
| 54 | function createRoomManager(overrides?: Partial<IRoomManager>): IRoomManager { |
| 55 | return { |
| 56 | isReady: vi.fn().mockReturnValue(true), |
| 57 | getWorkflowIdForSocket: vi.fn().mockResolvedValue(null), |
| 58 | removeUserFromRoom: vi.fn().mockResolvedValue(null), |
| 59 | broadcastPresenceUpdate: vi.fn().mockResolvedValue(undefined), |
| 60 | getWorkflowUsers: vi.fn().mockResolvedValue([]), |
| 61 | hasWorkflowRoom: vi.fn().mockResolvedValue(false), |
| 62 | addUserToRoom: vi.fn().mockResolvedValue(undefined), |
| 63 | getUserSession: vi.fn().mockResolvedValue(null), |
| 64 | updateUserActivity: vi.fn().mockResolvedValue(undefined), |
| 65 | updateRoomLastModified: vi.fn().mockResolvedValue(undefined), |
| 66 | emitToWorkflow: vi.fn(), |
| 67 | getUniqueUserCount: vi.fn().mockResolvedValue(1), |
| 68 | getTotalActiveConnections: vi.fn().mockResolvedValue(0), |
| 69 | handleWorkflowDeletion: vi.fn().mockResolvedValue(undefined), |
| 70 | handleWorkflowRevert: vi.fn().mockResolvedValue(undefined), |
| 71 | handleWorkflowUpdate: vi.fn().mockResolvedValue(undefined), |
| 72 | shutdown: vi.fn().mockResolvedValue(undefined), |
| 73 | initialize: vi.fn().mockResolvedValue(undefined), |
| 74 | io: { |
| 75 | in: vi.fn().mockReturnValue({ |
| 76 | fetchSockets: vi.fn().mockResolvedValue([]), |
| 77 | socketsLeave: vi.fn().mockResolvedValue(undefined), |
| 78 | }), |
| 79 | }, |
| 80 | ...overrides, |
| 81 | } as unknown as IRoomManager |
| 82 | } |
| 83 | |
| 84 | describe('setupWorkflowHandlers', () => { |
| 85 | beforeEach(() => { |