Columbia MCP Server
by smithery-ai
- COLUMBIA-MCP-SERVERS
- tests
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;
}
}
}