Skip to main content
Glama
dh1789

My First MCP

by dh1789
prompts.test.ts4.14 kB
/** * Prompt 테스트 - TDD Red Phase * * Day 2: Prompt 구현 테스트 * - generateCodeReviewPrompt: 코드 리뷰 프롬프트 * - generateExplainCodePrompt: 코드 설명 프롬프트 */ import { describe, it, expect } from "vitest"; import { generateCodeReviewPrompt, generateExplainCodePrompt, type PromptMessage, } from "./prompts.js"; describe("Prompts", () => { describe("generateCodeReviewPrompt", () => { it("코드 리뷰 프롬프트를 생성해야 한다", () => { const result = generateCodeReviewPrompt({ code: "function add(a, b) { return a + b; }", }); expect(result.messages).toBeDefined(); expect(result.messages.length).toBe(1); expect(result.messages[0].role).toBe("user"); expect(result.messages[0].content.type).toBe("text"); }); it("코드를 프롬프트에 포함해야 한다", () => { const code = "function add(a, b) { return a + b; }"; const result = generateCodeReviewPrompt({ code }); expect(result.messages[0].content.text).toContain(code); }); it("프로그래밍 언어를 지정할 수 있어야 한다", () => { const result = generateCodeReviewPrompt({ code: "const x = 1;", language: "typescript", }); expect(result.messages[0].content.text).toContain("typescript"); }); it("집중 리뷰 영역을 지정할 수 있어야 한다", () => { const result = generateCodeReviewPrompt({ code: "const x = 1;", focusAreas: "성능, 보안", }); expect(result.messages[0].content.text).toContain("성능, 보안"); }); it("기본값 없이도 동작해야 한다", () => { const result = generateCodeReviewPrompt({ code: "x = 1", }); expect(result.messages[0].content.text).toBeDefined(); expect(result.messages[0].content.text.length).toBeGreaterThan(0); }); it("리뷰 요청 형식을 포함해야 한다", () => { const result = generateCodeReviewPrompt({ code: "const x = 1;", }); const text = result.messages[0].content.text; expect(text).toContain("코드 품질"); expect(text).toContain("개선"); }); }); describe("generateExplainCodePrompt", () => { it("코드 설명 프롬프트를 생성해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", }); expect(result.messages).toBeDefined(); expect(result.messages.length).toBe(1); expect(result.messages[0].role).toBe("user"); }); it("코드를 프롬프트에 포함해야 한다", () => { const code = "function multiply(a, b) { return a * b; }"; const result = generateExplainCodePrompt({ code }); expect(result.messages[0].content.text).toContain(code); }); it("beginner 수준을 지원해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", level: "beginner", }); expect(result.messages[0].content.text).toContain("초보자"); }); it("intermediate 수준을 지원해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", level: "intermediate", }); expect(result.messages[0].content.text).toContain("기본"); }); it("advanced 수준을 지원해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", level: "advanced", }); expect(result.messages[0].content.text).toContain("숙련"); }); it("기본값으로 intermediate 수준을 사용해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", }); expect(result.messages[0].content.text).toContain("기본"); }); it("설명 형식을 포함해야 한다", () => { const result = generateExplainCodePrompt({ code: "const x = 1;", }); const text = result.messages[0].content.text; expect(text).toContain("목적"); expect(text).toContain("설명"); }); }); });

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/dh1789/my-first-mcp'

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