Skip to main content
Glama
MUSE-CODE-SPACE

Vibe Coding Documentation MCP (MUSE)

generateDevDocument.test.js7.28 kB
import { generateDevDocument } from '../tools/generateDevDocument.js'; describe('generateDevDocument', () => { describe('README generation', () => { it('should generate a basic README', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test Project', description: 'A test project description' }); expect(result.document).toContain('# Test Project'); expect(result.document).toContain('A test project description'); expect(result.documentType).toBe('README'); expect(result.generatedAt).toBeDefined(); expect(result.wordCount).toBeGreaterThan(0); }); it('should include table of contents when requested', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', includeTableOfContents: true }); expect(result.document).toContain('## Table of Contents'); }); it('should include features list', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', features: ['Feature 1', 'Feature 2', 'Feature 3'] }); expect(result.document).toContain('## Features'); expect(result.document).toContain('- Feature 1'); expect(result.document).toContain('- Feature 2'); expect(result.document).toContain('- Feature 3'); }); it('should include custom installation steps', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', installation: { requirements: ['Node.js 18+', 'npm'], steps: ['npm install', 'npm run build'] } }); expect(result.document).toContain('npm install'); expect(result.document).toContain('npm run build'); expect(result.document).toContain('Node.js 18+'); }); it('should include badges', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', badges: [ { label: 'version', message: '1.0.0', color: 'blue' } ] }); expect(result.document).toContain('img.shields.io'); }); it('should include API reference', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', apiReference: [ { name: 'myFunction', description: 'Does something', params: ['arg1: string', 'arg2: number'], returns: 'boolean' } ] }); expect(result.document).toContain('`myFunction`'); expect(result.document).toContain('Does something'); expect(result.document).toContain('arg1: string'); expect(result.document).toContain('**Returns:** boolean'); }); it('should include FAQ section', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', faq: [ { question: 'How does it work?', answer: 'It works well.' } ] }); expect(result.document).toContain('## FAQ'); expect(result.document).toContain('How does it work?'); expect(result.document).toContain('It works well.'); }); }); describe('Korean language support', () => { it('should use Korean headers when language is ko', () => { const result = generateDevDocument({ documentType: 'README', title: '테스트 프로젝트', language: 'ko', features: ['기능 1'] }); expect(result.document).toContain('## 개요'); expect(result.document).toContain('## 기능'); expect(result.document).toContain('## 설치'); }); }); describe('DESIGN document', () => { it('should generate a design document with metadata table', () => { const result = generateDevDocument({ documentType: 'DESIGN', title: 'System Design', author: 'Test Author', version: '1.0' }); expect(result.document).toContain('# System Design'); expect(result.document).toContain('**Author**'); expect(result.document).toContain('Test Author'); expect(result.document).toContain('**Version**'); }); }); describe('TUTORIAL document', () => { it('should generate a tutorial with steps', () => { const result = generateDevDocument({ documentType: 'TUTORIAL', title: 'Getting Started', codeContexts: [ { sessionId: '1', timestamp: new Date().toISOString(), codeBlocks: [{ language: 'bash', code: 'npm install' }], conversationSummary: 'First, install dependencies', tags: ['setup'] } ] }); expect(result.document).toContain('# Getting Started'); expect(result.document).toContain('Step 1'); expect(result.document).toContain('npm install'); }); }); describe('CHANGELOG document', () => { it('should generate a changelog', () => { const result = generateDevDocument({ documentType: 'CHANGELOG', version: '1.0.0', codeContexts: [ { sessionId: '1', timestamp: new Date().toISOString(), codeBlocks: [], conversationSummary: 'Added new feature X' } ] }); expect(result.document).toContain('# Changelog'); expect(result.document).toContain('[1.0.0]'); expect(result.document).toContain('Added new feature X'); }); }); describe('output metadata', () => { it('should include sections list', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test' }); expect(result.sections).toBeDefined(); expect(result.sections.length).toBeGreaterThan(0); }); it('should calculate word count', () => { const result = generateDevDocument({ documentType: 'README', title: 'Test', description: 'This is a description with multiple words.' }); expect(result.wordCount).toBeGreaterThan(10); }); }); }); //# sourceMappingURL=generateDevDocument.test.js.map

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/MUSE-CODE-SPACE/vibe-coding-mcp'

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