<?php
/**
 * Script para testar a navegação após criar solicitação
 * 
 * Este script simula o comportamento esperado quando uma solicitação é criada
 * e verifica se a navegação para a tela de solicitações está funcionando
 */

require_once '../config/bootstrap.php';

echo "<h1>🧪 Teste de Navegação - Solicitação de Viagem</h1>";

// Simular dados de uma solicitação criada
$dadosSolicitacao = [
    'tecnico_id' => 4,
    'veiculo_id' => 6,
    'cliente' => 'João Silva',
    'motivo' => 'teste',
    'km_inicial' => 10,
    'latitude_inicial' => -10.92654,
    'longitude_inicial' => -37.0731133,
    'endereco_inicial' => 'Avenida São João Batista, 2 - Ponto Novo - Sergipe',
    'cliente_id' => 2,
    'observacoes' => 'teste',
    'gestor_id' => 2,
    'prioridade' => 'baixa'
];

echo "<h2>📋 Dados da Solicitação Simulada:</h2>";
echo "<pre>" . json_encode($dadosSolicitacao, JSON_PRETTY_PRINT) . "</pre>";

// Simular criação da solicitação
echo "<h2>🚀 Simulando Criação da Solicitação...</h2>";

try {
    // Inserir solicitação de teste
    $sql = "INSERT INTO solicitacoes_viagem (
        tecnico_id, veiculo_id, cliente, motivo, km_inicial,
        latitude_inicial, longitude_inicial, endereco_inicial,
        cliente_id, observacoes, gestor_id, prioridade, status, data_solicitacao
    ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'pendente', NOW())";
    
    $params = [
        $dadosSolicitacao['tecnico_id'],
        $dadosSolicitacao['veiculo_id'],
        $dadosSolicitacao['cliente'],
        $dadosSolicitacao['motivo'],
        $dadosSolicitacao['km_inicial'],
        $dadosSolicitacao['latitude_inicial'],
        $dadosSolicitacao['longitude_inicial'],
        $dadosSolicitacao['endereco_inicial'],
        $dadosSolicitacao['cliente_id'],
        $dadosSolicitacao['observacoes'],
        $dadosSolicitacao['gestor_id'],
        $dadosSolicitacao['prioridade']
    ];
    
    Database::execute($sql, $params);
    $solicitacaoId = Database::lastInsertId();
    
    echo "<div style='background: #d4edda; color: #155724; padding: 15px; border-radius: 5px; margin: 10px 0;'>";
    echo "✅ <strong>Solicitação criada com sucesso!</strong><br>";
    echo "📋 ID da solicitação: <strong>$solicitacaoId</strong><br>";
    echo "📱 Status: <strong>pendente</strong><br>";
    echo "🎯 Próximo passo: Navegar para tela de solicitações";
    echo "</div>";
    
    // Verificar se a solicitação foi criada
    $solicitacao = Database::queryOne(
        "SELECT * FROM solicitacoes_viagem WHERE id = ?",
        [$solicitacaoId]
    );
    
    if ($solicitacao) {
        echo "<h3>📊 Dados da Solicitação Criada:</h3>";
        echo "<pre>" . json_encode($solicitacao, JSON_PRETTY_PRINT) . "</pre>";
        
        echo "<h3>🎯 Fluxo Esperado no App:</h3>";
        echo "<ol>";
        echo "<li>✅ Solicitação criada com ID: $solicitacaoId</li>";
        echo "<li>📱 App recebe resposta de sucesso</li>";
        echo "<li>🚀 App chama callback onSolicitacaoCriada($solicitacaoId)</li>";
        echo "<li>🎯 App navega para tela AguardandoAprovacao</li>";
        echo "<li>📋 Tela carrega lista de solicitações do motorista</li>";
        echo "<li>⏳ Solicitação aparece como 'pendente'</li>";
        echo "</ol>";
        
        echo "<h3>🔍 Verificações no App:</h3>";
        echo "<ul>";
        echo "<li>✅ Log: 'Solicitação criada com sucesso! ID: $solicitacaoId'</li>";
        echo "<li>✅ Log: 'Chamando onSolicitacaoCriada com ID: $solicitacaoId'</li>";
        echo "<li>✅ Log: 'Navegando para AguardandoAprovacao'</li>";
        echo "<li>✅ Log: 'Tela AguardandoAprovacao carregada'</li>";
        echo "<li>✅ Log: 'Iniciando carregamento de solicitações'</li>";
        echo "</ul>";
        
    } else {
        echo "<div style='background: #f8d7da; color: #721c24; padding: 15px; border-radius: 5px; margin: 10px 0;'>";
        echo "❌ <strong>Erro:</strong> Solicitação não foi encontrada após criação";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "<div style='background: #f8d7da; color: #721c24; padding: 15px; border-radius: 5px; margin: 10px 0;'>";
    echo "❌ <strong>Erro ao criar solicitação:</strong> " . $e->getMessage();
    echo "</div>";
}

echo "<h2>🧪 Teste de Navegação Manual</h2>";
echo "<p>Para testar manualmente no app:</p>";
echo "<ol>";
echo "<li>Abra o app no dispositivo/emulador</li>";
echo "<li>Faça login como motorista</li>";
echo "<li>Vá para 'Solicitar Viagem'</li>";
echo "<li>Preencha todos os campos</li>";
echo "<li>Clique em 'Enviar Solicitação'</li>";
echo "<li>Verifique se navega automaticamente para 'Minhas Solicitações'</li>";
echo "</ol>";

echo "<h2>📱 Logs Esperados no Android Studio:</h2>";
echo "<pre>";
echo "SolicitarViagemScreen: ✅ Solicitação criada com sucesso! ID: [ID]\n";
echo "SolicitarViagemScreen: 🚀 Chamando onSolicitacaoCriada com ID: [ID]\n";
echo "AppNavigation: 🚀 Navegando para AguardandoAprovacao\n";
echo "AppNavigation: 📋 ID da solicitação: [ID]\n";
echo "AppNavigation: ✅ Navegação executada com sucesso\n";
echo "AguardandoAprovacaoScreen: 🎬 Tela iniciada\n";
echo "AguardandoAprovacaoScreen: 🚀 Iniciando carregamento de solicitações\n";
echo "</pre>";

echo "<h2>🔧 Solução de Problemas</h2>";
echo "<p>Se a navegação não funcionar:</p>";
echo "<ul>";
echo "<li>Verifique se todos os logs aparecem no Android Studio</li>";
echo "<li>Verifique se não há erros de compilação</li>";
echo "<li>Verifique se a tela AguardandoAprovacaoScreen existe</li>";
echo "<li>Verifique se o callback onSolicitacaoCriada está sendo chamado</li>";
echo "<li>Verifique se o navController está funcionando</li>";
echo "</ul>";
?> 
