Skip to main content
Glama
kelvis-santos

MCP Server

testGenerator.ts2.88 kB
// Exemplos de uso dos padrões MCP fictícios // Controller: // const controller = new UserController(); // controller.getUser({ params: { id: '1' } }, { status: () => ({ json: console.log }), json: console.log }); // // Entity: // const user = new User('1', 'Alice', 'alice@email.com', new Date(), new Date()); // // Service: // const service = new UserService(); // service.findById('1').then(console.log); // // Module: // const module = new UserModule(); // module.userController.getUser(...); // // Middleware: // authMiddleware({ headers: {} }, { status: () => ({ json: console.log }), json: console.log }, () => console.log('next')); // // Helper: // formatDate(new Date()); // // Redis: // await cacheUser('1', user); // const cached = await getCachedUser('1'); import { loadFile } from "../utils/fileLoader.js"; import { buildContext } from "../utils/contextBuilder.js"; import { callModel } from "../utils/modelApi.js"; import { TEST_GENERATOR_TEMPLATE } from "../utils/promptTemplates.js"; /** * MCP Tool: testGenerator * Gera testes para um arquivo de código. * Agora com logs, tratamento de erro e retorno detalhado para fins de apresentação. */ export async function run(params: { target_file: string; framework?: string; template?: string }) { console.log("[testGenerator] Iniciando geração de testes..."); console.log("[testGenerator] Parâmetros recebidos:", params); try { const targetFile = params.target_file; const framework = params.framework || "jest"; // Carrega o conteúdo do arquivo alvo const codeContent = await loadFile(targetFile); console.log("[testGenerator] Conteúdo do arquivo carregado (primeiros 200 chars):", codeContent.slice(0, 200)); // Gera o contexto a partir do código const context = buildContext(codeContent); console.log("[testGenerator] Contexto gerado (primeiros 200 chars):", context.slice(0, 200)); // Usa template customizado se fornecido, senão o padrão const template = params.template || TEST_GENERATOR_TEMPLATE; const prompt = template .replace("{code}", context) .replace("{framework}", framework); console.log("[testGenerator] Prompt final (primeiros 200 chars):", prompt.slice(0, 200)); // Chama o modelo const response = await callModel(prompt); console.log("[testGenerator] Resposta do modelo:", response); // Retorna informações detalhadas para apresentação return { tests: response, context, prompt, params }; } catch (error: any) { console.error("[testGenerator] Erro ao gerar testes:", error); return { error: true, message: error?.message || String(error), params }; } }

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/kelvis-santos/MCP-vscode-examples'

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