- 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
103 lines
4.4 KiB
JavaScript
103 lines
4.4 KiB
JavaScript
// 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();
|