// Teste da API - Envio de mensagem com formatação
const fetch = require('node-fetch');

async function testarEnvioMensagem() {
    const url = 'http://localhost:3000/send-message';
    const token = '@@EQTL2025';
    
    // Mensagem formatada como no exemplo
    const mensagem = `🚨 *Desarme - OE 40118-7-2025 Uruaçu*
🗣️ Afetação: *365* clientes

Início: 16/07/2025 às 10:00:57
Ponto Operacional: 23 AN-GOIANESIA
Alimentador: SE GOIANESIA - Alimentador 1
👷 Equipes Atendendo: 2

> *882042* – Em deslocamento
> *URC001M* – Atribuída`;

    try {
        console.log('🚀 Testando envio de mensagem formatada...');
        
        const response = await fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${token}`
            },
            body: JSON.stringify({
                grupo: 'SQL QUERY', // Substitua pelo nome do seu grupo
                mensagem: mensagem
            })
        });

        const result = await response.json();
        
        if (response.ok) {
            console.log('✅ Mensagem enviada com sucesso!');
            console.log('📋 Resposta:', JSON.stringify(result, null, 2));
        } else {
            console.log('❌ Erro ao enviar mensagem:');
            console.log('📋 Resposta:', JSON.stringify(result, null, 2));
        }
        
    } catch (error) {
        console.error('❌ Erro de conexão:', error.message);
    }
}

async function verificarStatus() {
    try {
        console.log('\n🔍 Verificando status da conexão...');
        
        const response = await fetch('http://localhost:3000/status');
        const result = await response.json();
        
        console.log('📊 Status:', JSON.stringify(result, null, 2));
        
        if (result.whatsappConectado) {
            console.log('✅ WhatsApp conectado - pode enviar mensagens');
            return true;
        } else {
            console.log('⚠️ WhatsApp não conectado - acesse http://localhost:3000/qr para escanear QR');
            return false;
        }
        
    } catch (error) {
        console.error('❌ Erro ao verificar status:', error.message);
        return false;
    }
}

// Executa os testes
async function executarTestes() {
    console.log('🧪 Iniciando testes da API WhatsApp Bot\n');
    
    // Primeiro verifica o status
    const conectado = await verificarStatus();
    
    if (conectado) {
        // Se estiver conectado, testa envio de mensagem
        await testarEnvioMensagem();
    } else {
        console.log('\n📱 Para testar o envio de mensagens:');
        console.log('1. Inicie o servidor: npm start');
        console.log('2. Acesse: http://localhost:3000/qr');
        console.log('3. Escaneie o QR Code com seu WhatsApp');
        console.log('4. Execute este teste novamente');
    }
}

// Se executado diretamente
if (require.main === module) {
    executarTestes();
}

module.exports = { testarEnvioMensagem, verificarStatus };
