# 🧪 GUIA DE TESTES - LÓGICAS DE CRON WHATSAPP

## 📱 Número de Teste Configurado: 553199329118

Este guia mostra como testar as lógicas de cron antes do horário programado (08:00).

## 🚀 Opções de Teste Disponíveis

### 1. **Teste HTTP Simples** (Recomendado)
```bash
# Teste de conectividade
./teste-cron-http.sh conectividade

# Teste específico de RNC vencida
./teste-cron-http.sh rnc-vencida

# Teste específico de RNC a vencer
./teste-cron-http.sh rnc-vencer

# Teste específico de análise SGI
./teste-cron-http.sh analise-sgi

# Executar todos os testes
./teste-cron-http.sh todas
```

### 2. **Teste Node.js Direto** (Com dados reais do banco)
```bash
# Teste RNC vencida (consulta banco real)
node teste-cron-direto.js rnc-vencida

# Teste RNC a vencer (consulta banco real)
node teste-cron-direto.js rnc-vencer

# Teste análise SGI vencida (consulta banco real)
node teste-cron-direto.js analise-vencida

# Executar todos os testes
node teste-cron-direto.js todas
```

### 3. **Teste Bash Completo** (Com lógica completa)
```bash
# Teste RNC vencida
./teste-logicas-cron.sh rnc-vencida

# Teste RNC a vencer
./teste-logicas-cron.sh rnc-vencer

# Teste análise SGI vencida
./teste-logicas-cron.sh analise-vencida

# Executar todos os testes
./teste-logicas-cron.sh todas
```

## 📋 O Que Cada Teste Faz

### 🚨 **RNC Vencida**
- **Query**: `SELECT * FROM acoesrnc WHERE Finalizado = "NÃO" AND DATEDIFF(hoje, Previsao) > 5`
- **Lógica**: Busca RNCs não finalizadas e vencidas há mais de 5 dias
- **Mensagem**: Notifica sobre ações de RNC vencidas

### ⚠️ **RNC A Vencer**
- **Query**: `SELECT * FROM acoesrnc WHERE Finalizado = "NÃO" AND DATEDIFF(Previsao, hoje) BETWEEN 0 AND 2`
- **Lógica**: Busca RNCs não finalizadas que vencem entre hoje e 2 dias
- **Mensagem**: Alerta sobre ações de RNC próximas do vencimento

### 🔬 **Análise SGI Vencida**
- **Query**: `SELECT * FROM registrodenaoconformidade WHERE Finalizado = "NÃO" AND DATEDIFF(hoje, Previsao) > 5`
- **Lógica**: Busca análises SGI não finalizadas e vencidas há mais de 5 dias
- **Mensagem**: Notifica sobre análises SGI vencidas

## 🔧 Pré-requisitos

1. **Servidor rodando**:
   ```bash
   npm start
   # ou
   node app.js
   ```

2. **WhatsApp conectado**:
   - Verificar status: `curl http://localhost:3005/whatsapp/status`
   - Se necessário, escanear QR: `http://localhost:3005/whatsapp/qr`

## 📱 Exemplo de Uso Rápido

```bash
# 1. Iniciar servidor
npm start

# 2. Aguardar conexão WhatsApp (verifique logs)

# 3. Testar conectividade
./teste-cron-http.sh conectividade

# 4. Testar lógica específica
./teste-cron-http.sh rnc-vencida

# 5. Verificar mensagem no WhatsApp: 553199329118
```

## 📊 Diferenças Entre os Testes

| Tipo | Consulta BD | Dados Reais | Complexidade | Velocidade |
|------|-------------|-------------|--------------|------------|
| HTTP | ❌ | ❌ | Baixa | ⚡ Rápido |
| Node.js | ✅ | ✅ | Média | 🚀 Médio |
| Bash | ✅ | ✅ | Alta | 🐌 Lento |

## 🎯 Recomendação

**Para teste rápido**: Use `./teste-cron-http.sh conectividade`

**Para teste real**: Use `node teste-cron-direto.js rnc-vencida`

**Para teste completo**: Use `./teste-logicas-cron.sh todas`