query("SHOW TABLES LIKE 'system_config'")->rowCount() > 0; if (!$tableExists) { echo "⚠️ Tabla no existe, creándola...\n"; $created = createSystemConfigTable($pdo); if ($created) { echo "✅ Tabla creada exitosamente\n\n"; } else { echo "❌ Error creando tabla\n\n"; exit; } } else { echo "✅ Tabla existe\n\n"; } echo "3. Probando guardar configuración...\n"; $testKey = 'test_config_' . time(); $testValue = 'Valor de prueba ' . date('Y-m-d H:i:s'); $saved = saveConfigToDB($testKey, $testValue, 'Configuración de prueba'); if ($saved) { echo "✅ Configuración guardada: $testKey = $testValue\n\n"; } else { echo "❌ Error guardando configuración\n\n"; } echo "4. Probando obtener configuración...\n"; $retrieved = getConfigFromDB($testKey, 'no_encontrado'); if ($retrieved === $testValue) { echo "✅ Configuración recuperada correctamente: $retrieved\n\n"; } else { echo "❌ Error recuperando configuración. Esperado: $testValue, Obtenido: $retrieved\n\n"; } echo "5. Probando obtener todas las configuraciones...\n"; $allConfigs = getAllConfigsFromDB(); echo "✅ Total de configuraciones: " . count($allConfigs) . "\n\n"; echo "6. Probando configuración de WhatsApp...\n"; $whatsappTest = [ 'token' => 'token_de_prueba_' . time(), 'phone_number_id' => '123456789', 'webhook_verify_token' => 'webhook_test_' . time() ]; $whatsappSaved = saveWhatsAppConfigToDB($whatsappTest); if ($whatsappSaved) { echo "✅ Configuración de WhatsApp guardada\n"; $whatsappConfig = getWhatsAppConfigFromDB(); echo "📱 Token: " . $whatsappConfig['token'] . "\n"; echo "📱 Phone ID: " . $whatsappConfig['phone_number_id'] . "\n"; echo "📱 Webhook: " . $whatsappConfig['webhook_verify_token'] . "\n\n"; } else { echo "❌ Error guardando configuración de WhatsApp\n\n"; } echo "7. Probando validación de WhatsApp...\n"; $validation = validateWhatsAppConfigFromDB(); echo "✅ Configuración válida: " . ($validation['valid'] ? 'Sí' : 'No') . "\n"; echo " Errores: " . count($validation['errors']) . "\n"; echo " Advertencias: " . count($validation['warnings']) . "\n\n"; echo "8. Limpiando configuración de prueba...\n"; $deleted = deleteConfigFromDB($testKey); if ($deleted) { echo "✅ Configuración de prueba eliminada\n\n"; } else { echo "❌ Error eliminando configuración de prueba\n\n"; } echo "=== PRUEBAS COMPLETADAS EXITOSAMENTE ===\n"; echo "El sistema de configuraciones funciona correctamente.\n"; echo "Puedes usar las funciones:\n"; echo "- saveConfigToDB(clave, valor, descripción)\n"; echo "- getConfigFromDB(clave, por_defecto)\n"; echo "- getAllConfigsFromDB()\n"; echo "- saveWhatsAppConfigToDB(array_config)\n"; echo "- getWhatsAppConfigFromDB()\n"; echo "- validateWhatsAppConfigFromDB()\n"; } catch (Exception $e) { echo "❌ ERROR: " . $e->getMessage() . "\n"; echo "Trace: " . $e->getTraceAsString() . "\n"; } ?>