#!/usr/bin/env node

/**
 * Dashboard Data Verification - Check if real learning data is displayed
 */

const baseUrl = 'http://localhost:9001';

async function verifyDashboardData() {
  console.log('🔍 Dashboard Data Verification Test\n');

  try {
    // 1. Test AI Learning Status API (the one fixed)
    console.log('📊 AI Learning Status API:');
    const aiLearningResponse = await fetch(`${baseUrl}/api/ai-learning-status`);
    const aiLearningData = await aiLearningResponse.json();
    
    if (aiLearningData.success) {
      console.log(`   ✅ API Working: ${aiLearningData.success}`);
      console.log(`   📈 Total Analyses: ${aiLearningData.data.totalAnalyses}`);
      console.log(`   🎯 Total Decisions: ${aiLearningData.data.totalDecisions}`);
      console.log(`   🧠 Learning Phase: ${aiLearningData.data.phase}`);
      console.log(`   💪 AI Confidence: ${aiLearningData.data.confidenceLevel}%`);
      console.log(`   💡 Recommendation: ${aiLearningData.data.recommendation}`);
      
      // This should show REAL data now, not mock data
      if (aiLearningData.data.totalAnalyses > 9000) {
        console.log('   ✅ REAL DATA: Showing actual 9,400+ analyses');
      } else if (aiLearningData.data.totalAnalyses === 1120) {
        console.log('   ❌ MOCK DATA: Still showing old fallback value of 1,120');
      } else {
        console.log(`   ⚠️  UNKNOWN: Showing ${aiLearningData.data.totalAnalyses} analyses`);
      }
    } else {
      console.log('   ❌ API Failed');
    }

    // 2. Test Automation Learning Status API
    console.log('\n🤖 Automation Learning Status API:');
    const automationLearningResponse = await fetch(`${baseUrl}/api/automation/learning-status`);
    const automationLearningData = await automationLearningResponse.json();
    
    if (automationLearningData.success) {
      console.log(`   ✅ API Working: ${automationLearningData.success}`);
      console.log(`   🔧 Learning Enabled: ${automationLearningData.learningSystem.enabled}`);
      console.log(`   📝 Message: ${automationLearningData.learningSystem.message}`);
      console.log(`   🔗 DB Connected: ${automationLearningData.visibility.learningDatabaseConnected}`);
    } else {
      console.log('   ❌ API Failed');
    }

    // 3. Test main automation status
    console.log('\n⚙️  Main Automation Status:');
    const statusResponse = await fetch(`${baseUrl}/api/automation/status`);
    const statusData = await statusResponse.json();
    console.log(`   🔄 Is Active: ${statusData.isActive ? 'YES' : 'NO'}`);
    console.log(`   📊 Mode: ${statusData.mode || 'Not set'}`);
    console.log(`   💹 Symbol: ${statusData.symbol || 'Not set'}`);

    // 4. Test component integration by checking if page loads with correct data
    console.log('\n🖥️  Dashboard Page Integration:');
    try {
      const pageResponse = await fetch(`${baseUrl}/automation-v2`);
      if (pageResponse.ok) {
        console.log('   ✅ Page loads successfully');
        
        // Check if the page includes the learning component
        const pageText = await pageResponse.text();
        if (pageText.includes('AI Learning System')) {
          console.log('   ✅ AI Learning System component present');
        }
        if (pageText.includes('EnhancedAILearningPanel')) {
          console.log('   ✅ Enhanced AI Learning Panel component loaded');
        }
      } else {
        console.log('   ❌ Page failed to load');
      }
    } catch (pageError) {
      console.log(`   ❌ Page load error: ${pageError.message}`);
    }

    // 5. Summary
    console.log('\n📋 Dashboard Data Summary:');
    if (aiLearningData.success && aiLearningData.data.totalAnalyses > 9000) {
      console.log('   ✅ FIXED: Dashboard should now show 9,400+ real analyses');
      console.log('   ✅ Learning system data: REAL database values');
      console.log('   ✅ Pattern recognition: ACTIVE');
      console.log('   ✅ AI confidence: Real percentage from learning system');
    } else {
      console.log('   ❌ ISSUE: Dashboard may still show mock/fallback data');
    }

    console.log('\n🎯 Expected Dashboard Display:');
    console.log('   📊 Total Analyses: 9,413 (real data)');
    console.log('   🎯 Total Decisions: 100 (real data)');
    console.log('   🧠 Learning Phase: PATTERN RECOGNITION');
    console.log('   💪 AI Confidence: 50%');
    console.log('   💡 System Status: Active with real learning metrics');

  } catch (error) {
    console.error('❌ Dashboard verification failed:', error.message);
  }
}

// Run the verification
verifyDashboardData().catch(console.error);
