# PLANO DE TESTES – NoxLink Chatbot (120 Cenários)

**Versão:** 1.0.0  
**Última atualização:** 2026-06-26  

## 1. FLUXO DE BOAS-VINDAS (001–005)
| ID | Entrada | Saída Esperada |
|----|---------|----------------|
|001|"oi"|Saudação e menu|
|002|"olá"|Saudação|
|003|"ajuda"|Lista de comandos|
|004|"menu"|Lista de opções|
|005|"tudo bem?"|Resposta cordial|

## 2. AUTENTICAÇÃO (006–018)
| ID | Entrada | Saída |
|----|---------|-------|
|006|"05529154409"|"Legal, FILIPE! Localizei seu cadastro."|
|007|"055.291.544-09"|Igual 006|
|008|"cpf 05529154409"|Igual 006|
|009|"12345678900" (inexistente)|"Não encontrei esse CPF."|
|010|"abc"|"Formato inválido."|
|011|CPF já autenticado|Não repete consulta|
|012|SGP retorna erro|"Ocorreu um erro"|
|013|"055a291b54409"|Extrai 05529154409|
|014|"055 291 544 09"|Extrai corretamente|
|015|Cliente não encontrado|Limpa sessão e pede novamente|
|016|CPF sem contratos|"Não encontrei contratos ativos"|
|017|Envia CPF depois "boleto"|Não pede CPF novamente|
|018|Sessão expirada|Destroi e recria|

## 3. FINANCEIRO (019–030)
| ID | Entrada | Saída |
|----|---------|-------|
|019|"boleto" (não autenticado)|Pede CPF|
|020|"2 via" (autenticado)|Mostra faturas|
|021|"fatura"|Mostra faturas|
|022|"pix"|Mostra código PIX|
|023|"código de barras"|Mostra linha digitável|
|024|"quero pagar minha conta"|Mostra faturas|
|025|Múltiplos contratos pede fatura|Pede escolha do contrato|
|026|Escolhe contrato 1|Mostra faturas do contrato|
|027|Nenhuma fatura em aberto|"Não localizamos faturas."|
|028|Fatura com link PDF/PIX|Exibe links|
|029|"meu boleto venceu"|Mostra faturas vencidas|
|030|"gerar 2 via"|Exibe 2ª via|

## 4. PROBLEMAS TÉCNICOS (031–050)
| ID | Entrada | Saída |
|----|---------|-------|
|031|"internet caiu"|Verifica acesso, oferta reinício|
|032|"estou sem internet"|Igual 031|
|033|"wifi lento"|Regex captura → problema_internet|
|034|"wi-fi ruim"|Igual 033|
|035|"youtube trava"|Igual 033|
|036|"netflix não abre"|Igual 033|
|037|"ping alto no jogo"|Igual 033|
|038|"discord caiu"|Igual 033|
|039|"site não carrega"|Igual 033|
|040|"sem navegar"|Igual 033|
|041|"internet oscilando"|Igual 033|
|042|"luz vermelha no modem"|Igual 033|
|043|"reiniciar modem"|Confirma reinício|
|044|"sim" para reinício|Executa reinício|
|045|"não" para reinício|Cancela|
|046|"continua ruim"|Pede abrir chamado|
|047|"sim" para abrir chamado|Abre e mostra protocolo|
|048|"não" para abrir chamado|Cancela|
|049|Manutenção (status 9)|Avisa manutenção|
|050|"meu modem está online?"|Verifica e responde|

## 5. PROMESSA DE PAGAMENTO (051–060)
| ID | Entrada | Saída |
|----|---------|-------|
|051|"promessa de pagamento"|"Sinal liberado!"|
|052|"liberar internet"|Igual 051|
|053|"fiz o pagamento, libera aí"|Igual 051|
|054|Promessa recusada|"Não foi possível liberar"|
|055|Sem contrato ativo|Gatekeeper bloqueia|
|056|Múltiplos contratos|Pede escolha|
|057|"quero pagar e desbloquear"|Identifica promessa|
|058|"aviso de pagamento"|Identifica promessa|
|059|"já paguei, mas ainda tá bloqueado"|Tenta liberar|
|060|Promessa bem-sucedida|Salva `ultima_acao`|

## 6. PROTOCOLO (061–070)
| ID | Entrada | Saída |
|----|---------|-------|
|061|"consultar protocolo 123456"|Mostra status|
|062|"status do chamado"|Pede protocolo|
|063|"protocolo 789012" (inexistente)|"Não encontrado"|
|064|"acompanhar chamado"|Pede protocolo|
|065|"ABC123" (com letras)|Extrai 123|
|066|Protocolo com menos de 6 dígitos|Pede novamente|
|067|Retorna observações|Mostra observações|
|068|Pede protocolo após abertura|Se tiver salvo, usa|
|069|Sessão guarda `ultimo_protocolo`|Disponível para IA|
|070|"qual o status?" sem protocolo|Verifica `ultimo_protocolo`|

## 7. UPGRADE DE PLANO (071–080)
| ID | Entrada | Saída |
|----|---------|-------|
|071|"upgrade"|Mostra planos|
|072|"aumentar minha internet"|Mostra planos|
|073|"quero mudar de plano"|Mostra planos|
|074|Escolhe opção 2|Registra upgrade para 250Mb|
|075|Escolhe opção inválida|Pede novamente|
|076|"cancelar" durante upgrade|Cancela e volta|
|077|Sem contrato ativo|Gatekeeper bloqueia|
|078|Múltiplos contratos|Pede escolha|
|079|Salva `ultima_acao`|Detalhes do plano|
|080|"quero contratar 1 Giga"|Mostra planos|

## 8. CANCELAMENTO E ATENDENTE (081–090)
| ID | Entrada | Saída |
|----|---------|-------|
|081|"cancelar"|Transfere para atendente|
|082|"quero cancelar"|Igual 081|
|083|"falar com atendente"|Igual 081|
|084|"humano"|Igual 081|
|085|"suporte"|Igual 081|
|086|"atendente" (não autenticado)|Transfere|
|087|Cancelamento após upgrade|Prioridade para cancelamento|
|088|Sessão destruída|Limpa|
|089|Cliente volta (nova sessão)|Boas-vindas|
|090|"quero falar com um humano agora"|Transfere|

## 9. SESSÃO E PERSISTÊNCIA (091–100)
| ID | Entrada | Saída |
|----|---------|-------|
|091|Autenticado, aguarda 130 min|"Sessão expirou"|
|092|Envia mensagem após expiração|Destroi e recomeça|
|093|Duas mensagens simultâneas|Não corrompe (flock)|
|094|Mais de 20 interações|Mantém últimas 20|
|095|6 mensagens em 10s|Bloqueia a 6ª|
|096|5 mensagens em 10s, espera 11s|Libera|
|097|Garbage collector (1%)|Remove expirados|
|098|Refresh 11 min|Atualiza dados|
|099|Cache `verificaAcesso` (10s)|Não chama SGP|
|100|Cache expirado (>10s)|Nova chamada|

## 10. REGEX (101–110)
| ID | Entrada | Intenção |
|----|---------|----------|
|101|"2 via"|consultar_fatura|
|102|"segunda via"|consultar_fatura|
|103|"codigo de barra"|consultar_fatura|
|104|"pix"|consultar_fatura|
|105|"wifi caiu"|problema_internet|
|106|"jogo lagando"|problema_internet|
|107|"streaming não abre"|problema_internet|
|108|"ping alto"|problema_internet|
|109|"site não abre"|problema_internet|
|110|"netflix trava"|problema_internet|

## 11. FALLBACK E IA (111–120)
| ID | Entrada | Saída |
|----|---------|-------|
|111|"qual a previsão do tempo?"|Resposta genérica|
|112|"me conte uma piada"|Resposta divertida|
|113|"o que você pode fazer?"|Lista funcionalidades|
|114|Pergunta sem contexto|"Não tenho essa informação"|
|115|IA com `ultima_acao`|Sabe o que foi feito|
|116|IA com histórico de 5 mensagens|Mantém coerência|
|117|DeepSeek API falha|"Desculpe, deu um erro"|
|118|Texto ambíguo|Classifica como `desconhecida`|
|119|Áudio não suportado|"Não entendi, pode digitar?"|
|120|Mensagem vazia|"Por favor, digite uma mensagem."|