<?php
session_start();
require_once 'conexao.php';
require_once 'verificador_fluxos_automatizados.php';

// Configurar sessão para teste
$_SESSION['usuario_id'] = 1; // Substitua pelo ID real
$_SESSION['tenant_id'] = 1;  // Substitua pelo tenant real
$_SESSION['logado'] = true;

echo "<h2>🧪 TESTE COMPLETO DO SISTEMA DE FLUXOS</h2>";

// 1. Testar envio de e-mail direto
echo "<h3>1. 📧 Teste de Envio de E-mail Direto</h3>";

$cliente_teste_id = 1; // Substitua por um ID real do seu banco

$resultado_teste = testarEnvioEmailFluxo($conn, $cliente_teste_id, $_SESSION['tenant_id']);

if ($resultado_teste) {
    echo "<p style='color: green; font-weight: bold;'>✅ E-mail de teste enviado com SUCESSO!</p>";
} else {
    echo "<p style='color: red; font-weight: bold;'>❌ Falha no envio do e-mail de teste.</p>";
}

// 2. Verificar fluxos atualizados
echo "<h3>2. 🔄 Verificar Fluxos com Ações de E-mail</h3>";

$sql_fluxos = "SELECT id, nome, acoes FROM fluxos_automatizados WHERE tenant_id = ? AND ativo = 1";
$stmt = $conn->prepare($sql_fluxos);
$stmt->bind_param("i", $_SESSION['tenant_id']);
$stmt->execute();
$result = $stmt->get_result();

$fluxos_com_email = 0;
$total_fluxos = 0;

while ($fluxo = $result->fetch_assoc()) {
    $total_fluxos++;
    $acoes = json_decode($fluxo['acoes'], true);
    $tem_email = false;
    
    foreach ($acoes as $acao) {
        if (isset($acao['tipo']) && $acao['tipo'] === 'enviar_email') {
            $tem_email = true;
            $fluxos_com_email++;
            break;
        }
    }
    
    $status = $tem_email ? "✅ TEM E-MAIL" : "❌ SEM E-MAIL";
    echo "<p><strong>{$fluxo['nome']}:</strong> $status</p>";
}

$stmt->close();

echo "<h4>📊 Estatísticas:</h4>";
echo "<p>Total de fluxos: $total_fluxos</p>";
echo "<p>Fluxos com e-mail: $fluxos_com_email</p>";

// 3. Testar execução de fluxo para cliente novo
echo "<h3>3. 👤 Teste de Fluxo para Cliente Novo</h3>";

// Criar um cliente de teste temporário
$sql_cliente_teste = "INSERT INTO clientes (tenant_id, Nome_Cliente, Email, responsavel, etapa_funil_id) VALUES (?, 'Cliente Teste Fluxo', 'thagovieira.exact@gmail.com', ?, 1)";
$stmt_cliente = $conn->prepare($sql_cliente_teste);
$stmt_cliente->bind_param("ii", $_SESSION['tenant_id'], $_SESSION['usuario_id']);

if ($stmt_cliente->execute()) {
    $cliente_teste_id = $conn->insert_id;
    echo "<p>✅ Cliente de teste criado (ID: $cliente_teste_id)</p>";
    
    // Executar fluxos para este cliente
    $atividades_criadas = executarFluxosClienteCriado($conn, $cliente_teste_id, 'cadastro_manual');
    echo "<p>📝 Atividades criadas: $atividades_criadas</p>";
    
    // Limpar cliente de teste
    $conn->query("DELETE FROM clientes WHERE id = $cliente_teste_id");
    echo "<p>🧹 Cliente de teste removido</p>";
    
} else {
    echo "<p style='color: red;'>❌ Erro ao criar cliente de teste</p>";
}

$stmt_cliente->close();

echo "<h3>🎯 PRÓXIMOS PASSOS</h3>";
echo "<ol>";
echo "<li><strong>Execute o arquivo migrar_fluxos_para_email.php</strong> para adicionar ações de e-mail aos fluxos existentes</li>";
echo "<li><strong>Crie um cliente real</strong> no sistema para testar os fluxos automatizados</li>";
echo "<li><strong>Verifique os logs</strong> no painel do HostGator para ver os detalhes do envio</li>";
echo "<li><strong>Confirme se os e-mails estão chegando</strong> na caixa de entrada</li>";
echo "</ol>";

echo "<p style='background: #e7f3ff; padding: 15px; border-radius: 5px;'>";
echo "<strong>💡 DICA:</strong> Os fluxos agora suportam duas ações:<br>";
echo "1. <strong>criar_atividade</strong> - Para criar tarefas no sistema<br>";
echo "2. <strong>enviar_email</strong> - Para enviar e-mails automáticos";
echo "</p>";
?>