# 🧪 Teste Manual - Formulário de Cadastro de Motorista GR

## 📋 Objetivo
Verificar se o formulário está enviando corretamente os dados e imagens em formato binário para o endpoint `/api/cadastro/drivers/externo`.

## 🔧 Preparação

1. **Abra o navegador** em: https://dev.workspace.itguys.com.br/plataforma/cadastro-motorista
2. **Abra o DevTools** (F12 ou Ctrl+Shift+I)
3. **Vá para a aba Console** para ver os logs de debug
4. **Vá para a aba Network** e filtre por "Fetch/XHR"

## 📝 Passos do Teste

### Etapa 1: Identificação
1. Selecione "Como você deseja trabalhar": **Com meu veículo próprio**
2. Selecione "Tipo de Veículo": **Utilitário**
3. Preencha:
   - Nome Completo: `Teste Motorista`
   - CPF: `123.456.789-00`
   - Telefone: `(21) 99999-9999`
   - Data de Nascimento: `01/01/1990`
   - CNH: `12345678900`
   - Validade CNH: `31/12/2026`
   - Placa do Veículo: `ABC1234`
   - Modalidade: **Agregado**
   - Nome Coordenador: `Teste Coordenador`
   - E-mail: `teste@teste.com`
4. Clique em **Avançar**

### Etapa 2: Documentos
1. Anexe **qualquer imagem pequena** (pode ser a mesma para todos):
   - CNH (FRENTE) ✅
   - CNH (VERSO) ✅
   - COMPROVANTE RESIDÊNCIA ✅
   - DOCUMENTO DO VEÍCULO (CRLV) ✅
   - CARTÃO CNPJ (MEI) ✅
2. Clique em **Avançar**

### Etapa 3: Dados Complementares
1. Preencha:
   - CNPJ: `12.345.678/0001-00`
   - CEP: `23059-650` (vai preencher automaticamente o endereço)
   - Cidade: (preenchido automaticamente)
   - Bairro: (preenchido automaticamente)
2. Clique em **Avançar**

### Etapa 4: Revisão e Envio
1. Marque a caixa: **"Li e concordo com os termos..."**
2. Clique em **Finalizar Cadastro**

## 🔍 O que Verificar

### No Console (aba Console do DevTools):
Você deve ver logs como:
```
GR Form: Iniciando submissão {nome_completo: "Teste Motorista", ...}
GR Form: Arquivo anexado - cnh_frente: imagem.jpg 12345 bytes
GR Form: Arquivo anexado - cnh_verso: imagem.jpg 12345 bytes
GR Form: Arquivo anexado - comprovante_residencia: imagem.jpg 12345 bytes
GR Form: Arquivo anexado - crlv: imagem.jpg 12345 bytes
GR Form: Arquivo anexado - cartao_cnpj: imagem.jpg 12345 bytes
GR Form: Total de arquivos anexados: 5
GR Form: Modo de envio: NOVO CADASTRO
GR Form: Resposta do servidor: {submission_id: "...", message: "..."}
```

### Na aba Network:
1. Procure pela requisição para `/api/cadastro/drivers/externo`
2. Clique nela e vá para a aba **Payload** ou **Request**
3. Você deve ver:
   - `dados_json`: (string JSON com os dados do formulário)
   - `cnh_frente`: (binary)
   - `cnh_verso`: (binary)
   - `comprovante_residencia`: (binary)
   - `crlv`: (binary)
   - `cartao_cnpj`: (binary)

### ✅ Resultado Esperado
- Status da requisição: **200 OK** ou **201 Created**
- Mensagem de sucesso: **"Cadastro realizado com sucesso!"**
- Tela de confirmação aparece

### ❌ Se der erro
1. Copie o erro completo do Console
2. Copie a aba **Response** da requisição no Network
3. Tire um print da aba **Payload** mostrando o que foi enviado
4. Me envie essas informações

## 🐛 Problemas Conhecidos Corrigidos
- ✅ Arquivos agora são convertidos de FileList para Array
- ✅ Campos de arquivo removidos do JSON para evitar `{}`
- ✅ Logs de debug adicionados para rastreamento
- ✅ Import do useEffect corrigido

## 📊 Formato Esperado no Backend

**Correto (como deve estar agora):**
```
FormData {
  dados_json: '{"nome_completo":"Teste","cpf":"123.456.789-00",...}',
  cnh_frente: File (binary),
  cnh_verso: File (binary),
  comprovante_residencia: File (binary),
  crlv: File (binary),
  cartao_cnpj: File (binary)
}
```

**Incorreto (problema anterior):**
```json
{
  "dados_json": "{...}",
  "cnh_frente": {},
  "cnh_verso": {},
  ...
}
```
