# Como Testar a Simulação de Desconexão do WhatsApp

## Método 1: Via Console do Navegador (Recomendado)

1. Abra o console do navegador (F12)
2. Execute o seguinte código JavaScript:

```javascript
// Substitua CONNECTION_ID pelo ID da conexão que você quer testar
const connectionId = 1; // Altere para o ID da sua conexão

// Simular desconexão
fetch(`/api/v1/admin/whatsapp/test-disconnect/${connectionId}`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${localStorage.getItem('token')}`
  }
})
.then(res => res.json())
.then(data => {
  console.log('✅ Resposta da simulação:', data);
  alert('Desconexão simulada! Verifique se a notificação foi criada.');
})
.catch(err => {
  console.error('❌ Erro:', err);
  alert('Erro ao simular desconexão');
});
```

## Método 2: Via cURL (Terminal)

```bash
# Substitua CONNECTION_ID e TOKEN pelos valores corretos
curl -X POST "https://seudominio.com/api/v1/admin/whatsapp/test-disconnect/1" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer SEU_TOKEN_AQUI"
```

## Método 3: Via Postman/Insomnia

1. **URL**: `POST /api/v1/admin/whatsapp/test-disconnect/{connectionId}`
2. **Headers**:
   - `Content-Type: application/json`
   - `Authorization: Bearer {seu_token}`
3. **Body**: (vazio)

## O que acontece quando você testa:

1. ✅ O sistema simula um evento `connection.update` com `state: 'close'`
2. ✅ A conexão é marcada como `disconnected` no banco de dados
3. ✅ Uma notificação do tipo `whatsapp_disconnected` é criada para o usuário
4. ✅ Se o usuário tiver `whatsapp_pause_on_disconnect` ativado, a fila de mensagens é pausada

## Verificar se funcionou:

1. Verifique o status da conexão - deve estar como `disconnected`
2. Verifique as notificações do sistema - deve ter uma nova notificação de desconexão
3. Verifique os logs do Laravel - deve ter logs do webhook sendo processado

## Simular Reconexão:

Para testar a reconexão, use:

```javascript
// Simular conexão
fetch(`/api/v1/admin/whatsapp/test-connect/${connectionId}`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${localStorage.getItem('token')}`
  }
})
.then(res => res.json())
.then(data => {
  console.log('✅ Resposta da simulação:', data);
  alert('Conexão simulada!');
})
.catch(err => {
  console.error('❌ Erro:', err);
});
```

## Endpoints Disponíveis:

- `POST /api/v1/admin/whatsapp/test-disconnect/{connectionId}` - Simula desconexão
- `POST /api/v1/admin/whatsapp/test-connect/{connectionId}` - Simula conexão

## Notas:

- Você precisa estar autenticado como admin
- A conexão precisa existir no banco de dados
- O teste simula exatamente o que o Evolution API enviaria via webhook
