Exercício compartilhado: encaminhar relatos fictícios
O LAB CLI parte de uma função mínima e revisa esta candidata no próprio material. O LAB Cloud não usa esta pasta: a tarefa dele é um ajuste na Alô, TI. Este exercício não chama Decisions nem qualquer API.
Antes de executar
Seção intitulada “Antes de executar”Precisa de Node.js de 24.12.0 a 24.21.0 e do material clonado. Não há pacotes nem chaves para instalar. Todos os comandos abaixo partem da raiz do repositório.
| Pasta | Papel | Testes da pasta | Aceitação independente |
|---|---|---|---|
starter |
Início do LAB CLI | 3 passam | 8 passam, 10 falham |
review-candidate |
Candidata para a revisão local do encaminhador | 5 passam | 16 passam, 2 falham |
solution |
Referência, consultar depois da tentativa | 8 passam | 18 passam |
Contrato do desafio
Seção intitulada “Contrato do desafio”Evoluir ou corrigir routeTicket(text) para:
- Ignorar maiúsculas/minúsculas e acentos
- Reconhecer palavras inteiras: senha, login ou permissão →
acessos - Conexão, Wi-Fi ou rede →
infraestrutura - Erro 500 ou aplicativo →
aplicacoes - Nenhuma categoria ou mais de uma categoria →
revisao_humana - Duas palavras da mesma categoria não criam ambiguidade
- Entrada ausente ou não textual →
revisao_humana, sem lançar erro - Não adicionar dependências, rede, serviços ou efeitos externos
Exemplos: “SENHA expirada” → acessos; “senha e login” → acessos; “senha e conexão” → revisao_humana. O verificador não tenta avaliar toda a língua portuguesa. Outras grafias e regras precisam de uma ampliação explícita do contrato.
Prove a diferença entre passar testes e concluir o desafio
Seção intitulada “Prove a diferença entre passar testes e concluir o desafio”node --test exercises/ticket-router/starter/router.test.mjsnode exercises/ticket-router/verify.mjs exercises/ticket-router/starter/router.mjsO primeiro comando passa. O segundo termina com código 1 e ACCEPTANCE {"total":18,"passed":8,"failed":10}. As falhas mostram o trabalho que ainda falta, não um problema de instalação.
O verificador é separado da pasta que o agente edita. Depois da sua tentativa, passe o caminho do seu router.mjs para ele. Não reduza os testes para aceitar uma resposta incorreta.
Referência, só depois de tentar
Seção intitulada “Referência, só depois de tentar”node --test exercises/ticket-router/solution/router.test.mjsnode exercises/ticket-router/verify.mjs exercises/ticket-router/solution/router.mjsEsperado: oito testes da solução e 18 casos de aceitação aprovados. Explique por que a solução precisa contar categorias antes de retornar, em vez de aceitar a primeira correspondência.
Reset seguro
Seção intitulada “Reset seguro”Trabalhe em uma cópia. Para recomeçar, use outra pasta e preserve sua tentativa anterior. Os comandos deste exercício estão no LAB CLI. O LAB Cloud tem outro roteiro, na Alô, TI.
Para quem mantém o material, node scripts/check-workshop-examples.mjs confirma as falhas didáticas do starter e da candidata, além do resultado verde da solução. Um arquivo ausente ou erro de sintaxe não é aceito como a etapa vermelha.