Files
kidsai/test-conversation.js
root 500bd192d5 Initial commit: KidsAI Explorer with complete functionality
- Complete KidsAI Explorer application
- Multi-language support (English/German)
- AI-powered educational guidance using OpenAI
- Interactive chat interface for children
- Proper placeholder translation fixes
- Mobile-responsive design
- Educational framework for critical thinking
2025-07-13 16:59:42 +02:00

103 lines
4.4 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Test script to simulate the conversation flow that was problematic
const fetch = require('node-fetch');
const BASE_URL = 'http://localhost:3002';
async function testConversation() {
console.log('🧪 Testing KidsAI conversation flow...\n');
try {
// Step 1: Start conversation about northern lights
console.log('1⃣ Starting conversation about Polarlichter...');
const step1 = await fetch(`${BASE_URL}/api/ask`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
question: "Wie entstehen Polarlichter?",
language: "de"
})
});
const step1Data = await step1.json();
console.log('🤖 AI Response:', step1Data.guidance?.steps?.[0]?.text || 'No response');
// Step 2: Child says "das weis ich nicht"
console.log('\n2⃣ Child says "das weis ich nicht"...');
const step2 = await fetch(`${BASE_URL}/api/respond-to-answer`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
answer: "das weis ich nicht",
question: "Was denkst du, was der Sonnenwind ist?",
originalTopic: "Wie entstehen Polarlichter?",
language: "de",
sessionId: "test-session-123"
})
});
const step2Data = await step2.json();
console.log('🤖 AI Response:', step2Data.response || 'No response');
// Step 3: Child says "vielleicht durch die sonne?"
console.log('\n3⃣ Child says "vielleicht durch die sonne?"...');
const step3 = await fetch(`${BASE_URL}/api/respond-to-answer`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
answer: "vielleicht durch die sonne ?",
question: "Wo könnte das Magnetfeld der Erde herkommen?",
originalTopic: "Wie entstehen Polarlichter?",
language: "de",
sessionId: "test-session-123"
})
});
const step3Data = await step3.json();
console.log('🤖 AI Response:', step3Data.response || 'No response');
// Step 4: The critical test - Child says "nein"
console.log('\n4⃣ 🎯 CRITICAL TEST: Child says "nein" (this was the bug)...');
const step4 = await fetch(`${BASE_URL}/api/respond-to-answer`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
answer: "nein",
question: "Weißt du, wie das Magnetfeld der Erde entsteht und welche Rolle der Erdkern dabei spielt?",
originalTopic: "Wie entstehen Polarlichter?",
language: "de",
sessionId: "test-session-123"
})
});
const step4Data = await step4.json();
console.log('🤖 AI Response:', step4Data.response || 'No response');
// Check if the response is appropriate
const response = step4Data.response || '';
const isAppropriate = !response.includes('interessante Frage') &&
(response.includes('in Ordnung') ||
response.includes('ehrlich') ||
response.includes('verstehen') ||
response.includes('Schritt für Schritt'));
console.log('\n📊 RESULT ANALYSIS:');
console.log('✅ Response does NOT contain "interessante Frage":', !response.includes('interessante Frage'));
console.log('✅ Response contains appropriate language:', isAppropriate);
console.log('🎉 BUG FIX STATUS:', isAppropriate ? 'SUCCESS! ✅' : 'STILL BROKEN ❌');
if (isAppropriate) {
console.log('\n🎊 EXCELLENT! The fix is working correctly!');
console.log('🔧 When a child says "nein", the AI now responds appropriately');
console.log('📚 Instead of "That\'s an interesting question!", it acknowledges the "no" properly');
} else {
console.log('\n❌ The bug still exists. Need further investigation.');
}
} catch (error) {
console.error('❌ Test failed:', error.message);
}
}
// Run the test
testConversation();