eventpulse-mcp
Version:
EventPulse MCP Server - Hyper-local event-driven marketing campaigns for small businesses
91 lines (72 loc) โข 2.98 kB
JavaScript
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);