Columbia MCP Server

import { jest } from '@jest/globals'; // Store original env const originalEnv = process.env; beforeEach(() => { // Reset environment process.env = { ...originalEnv }; // Clear all mocks jest.clearAllMocks(); }); afterEach(() => { // Restore environment process.env = originalEnv; }); // Global test utilities export const mockResponse = <T>(data: T) => ({ data, status: 200, statusText: 'OK', headers: {}, config: {} as any }); export const mockError = (status: number, message: string) => { const error = new Error(message) as any; error.isAxiosError = true; error.response = { status, statusText: 'Error', data: { error: { message } }, headers: {}, config: {} }; return error; }; export const mockNetworkError = () => { const error = new Error('Network Error') as any; error.isAxiosError = true; error.message = 'Network Error'; error.code = 'ECONNABORTED'; error.request = {}; return error; }; // Add custom matchers if needed expect.extend({ toBeValidMcpResponse(received) { const hasContent = Array.isArray(received?.content); const validTypes = received?.content?.every( (item: any) => typeof item.type === 'string' && ['text', 'binary', 'error'].includes(item.type) ); return { message: () => `expected ${received} to be a valid MCP response`, pass: hasContent && validTypes }; } }); // Declare custom matchers declare global { namespace jest { interface Matchers<R> { toBeValidMcpResponse(): R; } } }