UNPKG

eventpulse-mcp

Version:

EventPulse MCP Server - Hyper-local event-driven marketing campaigns for small businesses

91 lines (72 loc) โ€ข 2.98 kB
#!/usr/bin/env node const campaignGenerator = require('../src/campaign-generator'); const { validateRequest } = require('../src/utils'); async function runManualTests() { console.log('๐Ÿงช EventPulse MCP Manual Tests\n'); // Test 1: Campaign Generation console.log('๐ŸŽฏ Test 1: Campaign Generation'); console.log('================================'); const testRequest = { business_type: 'sweet_shop', event: 'diwali', language: 'hindi', location: 'Mumbai', goal: 'increase_sales' }; console.log('๐Ÿ“ Request:', JSON.stringify(testRequest, null, 2)); try { const validation = validateRequest(testRequest); console.log('โœ… Validation:', validation.valid ? 'PASSED' : 'FAILED'); if (validation.valid) { const campaign = await campaignGenerator.generateCampaign(testRequest); console.log('โœ… Campaign Generated Successfully!'); console.log('\n๐Ÿ“ฑ WhatsApp Message:'); console.log(campaign.whatsapp_message); console.log('\n๐Ÿ“ฑ Social Media Posts:'); campaign.social_media_posts.forEach((post, i) => { console.log(`${i + 1}. ${post}`); }); console.log('\n๐Ÿท๏ธ Hashtags:', campaign.hashtags.join(' ')); console.log('\n๐ŸŽ Offers:', campaign.promotional_offers.join(', ')); } } catch (error) { console.log('โŒ Error:', error.message); } console.log('\n' + '='.repeat(50) + '\n'); // Test 2: Different Language console.log('๐ŸŽฏ Test 2: Gujarati Campaign'); console.log('============================='); const gujaratiRequest = { business_type: 'clothing_store', event: 'navratri', language: 'gujarati', location: 'Ahmedabad', goal: 'brand_awareness' }; console.log('๐Ÿ“ Request:', JSON.stringify(gujaratiRequest, null, 2)); try { const campaign = await campaignGenerator.generateCampaign(gujaratiRequest); console.log('โœ… Gujarati Campaign Generated!'); console.log('\n๐Ÿ“ฑ WhatsApp Message:'); console.log(campaign.whatsapp_message); console.log('\n๐Ÿท๏ธ Hashtags:', campaign.hashtags.join(' ')); } catch (error) { console.log('โŒ Error:', error.message); } console.log('\n' + '='.repeat(50) + '\n'); // Test 3: Error Handling console.log('๐ŸŽฏ Test 3: Error Handling'); console.log('========================='); const invalidRequest = { business_type: 'invalid_type', event: 'invalid_event', language: 'invalid_language' }; console.log('๐Ÿ“ Invalid Request:', JSON.stringify(invalidRequest, null, 2)); const validation = validateRequest(invalidRequest); console.log('โœ… Validation Result:', validation.valid ? 'PASSED (unexpected)' : 'FAILED (expected)'); console.log('๐Ÿ“ Validation Message:', validation.message); console.log('\n๐ŸŽ‰ Manual tests completed!'); } // Run tests runManualTests().catch(console.error);