Skip to main content
Glama
getAiActionInvocation.test.ts1.82 kB
import { describe, it, expect, beforeEach, vi } from 'vitest'; import { getAiActionInvocationTool } from './getAiActionInvocation.js'; import { formatResponse } from '../../utils/formatters.js'; import { setupMockClient, mockAiActionInvocationGet, mockAiActionInvocation, mockArgs, } from './mockClient.js'; import { createMockConfig } from '../../test-helpers/mockConfig.js'; vi.mock('../../../src/utils/tools.js'); describe('getAiActionInvocation', () => { const mockConfig = createMockConfig(); beforeEach(() => { setupMockClient(); }); it('should retrieve an AI action invocation successfully', async () => { const testArgs = { ...mockArgs, invocationId: 'test-invocation-id', }; mockAiActionInvocationGet.mockResolvedValue(mockAiActionInvocation); const tool = getAiActionInvocationTool(mockConfig); const result = await tool(testArgs); const expectedResponse = formatResponse( 'AI action invocation retrieved successfully', { aiActionInvocation: mockAiActionInvocation, }, ); expect(result).toEqual({ content: [ { type: 'text', text: expectedResponse, }, ], }); }); it('should handle errors when invocation is not found', async () => { const testArgs = { ...mockArgs, invocationId: 'non-existent-invocation', }; const error = new Error('Invocation not found'); mockAiActionInvocationGet.mockRejectedValue(error); const tool = getAiActionInvocationTool(mockConfig); const result = await tool(testArgs); expect(result).toEqual({ isError: true, content: [ { type: 'text', text: 'Error retrieving AI action invocation: Invocation not found', }, ], }); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/contentful/contentful-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server