import { describe, it, expect, vi } from 'vitest';
import { registerMcpTools } from '../src/mcpToolRegistrar';
import * as handlers from '../src/legacy-handlers';
import { invokeTool } from '../src/invoke';
describe('registerMcpTools', () => {
it('registers MCP tools and allows invoking them via invokeTool', async () => {
const fakeRes = { content: [{ type: 'text', text: 'ok' }] };
const spy = vi.spyOn(handlers, 'callToolHandler').mockResolvedValue(fakeRes as any);
const names = await registerMcpTools();
expect(names.length).toBeGreaterThan(0);
// Try invoking each registered tool
for (const name of names) {
const out = await invokeTool(name, { prompt: 'hello' });
expect(spy).toHaveBeenCalled();
expect(out).toEqual(fakeRes);
}
spy.mockRestore();
});
});