Last active
November 7, 2024 17:31
-
-
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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