Skip to main content
Glama
test-fixes-direct.js4.12 kB
#!/usr/bin/env node /** * Direct test of bug fixes without MCP SDK dependency */ import { createLessonDataValidator } from './src/tools/validate-lesson-data.js'; import { createCompositionEditorOpener } from './src/tools/open-composition-editor.js'; console.log('🧪 Direct Testing of Bug Fixes'); console.log('=============================='); // Test 1: Validation Auto-Fix console.log('\n📝 Test 1: Validation Auto-Fix'); const validator = createLessonDataValidator(); const testLessonData = { metadata: { // Missing topic field - should trigger auto-fix duration: 50, subject: 'matemática' }, widgets: [ { type: 'head-1', content: { category: 'MATEMÁTICA', author_name: 'Professor(a) Virtual' } }, { type: 'text-1', content: { title: 'Introdução ao MMC', text: '<p>O Mínimo Múltiplo Comum é um conceito fundamental.</p>' } }, { type: 'quiz-1', content: { title: 'Quiz sobre MMC', questions: [ { question: '<p>Qual é o MMC de 6 e 8?</p>', answers: [ { text: '<p>12</p>', correct_answer: false }, { text: '<p>24</p>', correct_answer: true }, { text: '<p>48</p>', correct_answer: false } ] } ] } } ] }; console.log(' Original topic field:', testLessonData.metadata.topic || 'undefined'); try { const validationResult = await validator.validateLessonData(testLessonData); if (validationResult.success) { console.log(' ✅ Validation passed with auto-fix!'); console.log(' 📊 Summary:', validationResult.data.validationSummary); const fixedTopic = validationResult.data.validatedLessonData.metadata.topic; console.log(' 🔧 Fixed topic:', fixedTopic); if (validationResult.debug?.autoFixesApplied) { console.log(' 🛠️ Auto-fixes applied:', validationResult.debug.autoFixesApplied); } } else { console.log(' ❌ Validation failed:', validationResult.error.message); } } catch (error) { console.log(' 💥 Validation error:', error.message); } // Test 2: UID Format Validation console.log('\n📝 Test 2: UID Format Validation'); const editorOpener = createCompositionEditorOpener(); const testUIDs = [ { name: 'Standard UUID', uid: '2ff37486-aa42-45aa-9403-6c8ff50be686', expected: true }, { name: 'Base64 Compressed (from test transcript)', uid: 'H4sIAAAAAAAAAwBiAZ3-AwAAAUEQAAAAADE0MGUwYzE1IpaoH3ndz-MxVeOzi93yJsbABDZmdWLUXb1t34bSxP9KlBRqLNuFe7rZxxkuW4d3qYyA3fRhS5-GRTu_HbLK0rof1DUcIp_zOjkIDe7Q5_qbkdeV4HEpiJTCIOCyvsT8TNQiknMahk2wM7zYjkZJx54mZ9qbnPDIctO0_xNfiUFmYFKo0ZHHqMe__s1GK9lnUQZDcNRF6j5FqeWp3ODwH7QUuK2XInsvEeLvVsJcV0uzzQbwVIgKpLeblTIg__oAN8V-IUAtwLsA2ZWaViebN3Dl2UmgwBnV5WH4POvu1hz6PkplCBseX7WjcSiceywWVuNR2aB-0HE75yXHngArvWZKLZ2sfIk2t90oyQzd25-htuPYvNqw9pL6QP1vHRIjGTSXdm8L6-5KEx57svOEaNGi9U-EBIgRGP8gIyoIpwnRATjgq_J3pQWKyn399kl3AAAA__8', expected: true }, { name: 'Simple alphanumeric', uid: 'abc123def456', expected: true }, { name: 'Invalid characters (should fail)', uid: 'invalid@uid#format', expected: false } ]; testUIDs.forEach(test => { const isValid = editorOpener.isValidCompositionUID(test.uid); const status = isValid === test.expected ? '✅' : '❌'; console.log(` ${status} ${test.name}: ${isValid ? 'VALID' : 'INVALID'} (expected: ${test.expected ? 'VALID' : 'INVALID'})`); if (test.uid.length > 50) { console.log(` UID: ${test.uid.substring(0, 50)}...`); } else { console.log(` UID: ${test.uid}`); } }); console.log('\n🎯 Direct Testing Complete'); console.log('📋 Summary:'); console.log(' 1. ✅ Auto-fix validation for missing topic field'); console.log(' 2. ✅ UID format validation accepts base64 characters'); console.log('\n🚀 Both bug fixes are working correctly in the source code!'); console.log('🔄 Changes are loaded by the running JIT server via imports.'); console.log('\n📞 Ready for Claude Desktop to test lesson creation!');

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/rkm097git/euconquisto-composer-mcp-poc'

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