Skip to content

Instantly share code, notes, and snippets.

@ElderSam
Last active November 7, 2024 17:31
Show Gist options
  • Save ElderSam/eb6b7e591e823769e98d411e947787ff to your computer and use it in GitHub Desktop.
Save ElderSam/eb6b7e591e823769e98d411e947787ff to your computer and use it in GitHub Desktop.
// Resposta no fórum Rocketseat (https://app.rocketseat.com.br/h/forum/node-js/9085625a-3d2e-4f88-8604-a02096bfe3bd)
// Se você for fazer o Teste Unitário, teste cada função. Teste os casos extremos, de sucesso e erro. Pense em erros óbvios que você quer evitar, depois em casos mais raros.
// Exemplo: na função "criar novo prato", se for obrigatório pelo menos 1 tag, 1 ingrediente, você poderia se basear no "esboço" abaixo para começar um dos testes;
if(!userId || !name || !description || !instructions) {
// falha no teste, mostra o erro "campos obrigatórios não foram preenchidos!"
return;
}
// caso os dados do prato estejam corretos
if(!ingredients?.length) {
// falha no teste, mostra o erro "é obrigatório ter pelo menos 1 ingrediente"
return;
}
// caso tenha ingrediente(s)
if(!tags?.length) {
// falha no teste, mostra o erro "é obrigatório ter pelo menos 1 tag"
return;
}
/* cabe outras validações como;
- se o usuário não existe
- se a tag não existe
- se o ingrediente não existe
- validar cada campo preenchido. Exemplo:
- se cada campo preenchido possui o valor no TIPO desejado (string, number, etc)
- ou se atende aos caracteres mínimos e máximos
- etc.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment