diff --git a/app/src/lib/composio/composioApi.test.ts b/app/src/lib/composio/composioApi.test.ts index 909bae083..6dbb8e0d7 100644 --- a/app/src/lib/composio/composioApi.test.ts +++ b/app/src/lib/composio/composioApi.test.ts @@ -191,3 +191,27 @@ describe('listAgentReadyToolkits', () => { expect(out.toolkits).toEqual(['gmail']); }); }); + +describe('deleteConnection', () => { + beforeEach(() => { + mockCallCoreRpc.mockReset(); + }); + + it('calls composio_delete_connection with connection_id', async () => { + mockCallCoreRpc.mockResolvedValue({ result: { deleted: true }, logs: [] }); + await deleteConnection('conn-abc'); + expect(mockCallCoreRpc).toHaveBeenCalledWith({ + method: 'openhuman.composio_delete_connection', + params: { connection_id: 'conn-abc' }, + }); + }); + + it('forwards clearMemory=true to the RPC', async () => { + mockCallCoreRpc.mockResolvedValue({ result: { deleted: true }, logs: [] }); + await deleteConnection('conn-abc', { clearMemory: true }); + expect(mockCallCoreRpc).toHaveBeenCalledWith({ + method: 'openhuman.composio_delete_connection', + params: { connection_id: 'conn-abc', clear_memory: true }, + }); + }); +}); diff --git a/app/src/services/api/channelConnectionsApi.test.ts b/app/src/services/api/channelConnectionsApi.test.ts new file mode 100644 index 000000000..dea929ec5 --- /dev/null +++ b/app/src/services/api/channelConnectionsApi.test.ts @@ -0,0 +1,40 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +import { channelConnectionsApi } from './channelConnectionsApi'; + +const mockCallCoreRpc = vi.fn(); + +vi.mock('../coreRpcClient', () => ({ callCoreRpc: (args: unknown) => mockCallCoreRpc(args) })); + +describe('channelConnectionsApi.disconnectChannel', () => { + beforeEach(() => { + mockCallCoreRpc.mockReset(); + }); + + it('calls channels_disconnect with channel and authMode', async () => { + mockCallCoreRpc.mockResolvedValue({}); + await channelConnectionsApi.disconnectChannel('telegram', 'bot_token'); + expect(mockCallCoreRpc).toHaveBeenCalledWith({ + method: 'openhuman.channels_disconnect', + params: { channel: 'telegram', authMode: 'bot_token' }, + }); + }); + + it('forwards clearMemory=true to the RPC', async () => { + mockCallCoreRpc.mockResolvedValue({}); + await channelConnectionsApi.disconnectChannel('discord', 'bot_token', { clearMemory: true }); + expect(mockCallCoreRpc).toHaveBeenCalledWith({ + method: 'openhuman.channels_disconnect', + params: { channel: 'discord', authMode: 'bot_token', clearMemory: true }, + }); + }); + + it('defaults clearMemory to false when omitted', async () => { + mockCallCoreRpc.mockResolvedValue({}); + await channelConnectionsApi.disconnectChannel('telegram', 'oauth'); + expect(mockCallCoreRpc).toHaveBeenCalledWith({ + method: 'openhuman.channels_disconnect', + params: { channel: 'telegram', authMode: 'oauth' }, + }); + }); +});