"Just because you’ve counted all the trees doesn’t mean you’ve seen the forest."
O objetivo desse treinamento é mostrar os principais conceitos relativos a testes de software, trazer alguns casos de estudo e mostrar como uma aplicação em Node pode ser testada utilizando o Jest.
O desafio será construir, com uso de práticas relacionadas ao BDD, a API de um encurtador de links, como o bit.ly.
- O usuário da API deve conseguir enviar o link que deseja encurtar e receber a URL simplificada;
- Caso queira, o usuário pode enviar também uma string personalizada, que será utilizada para encurtar a URL.
- Caso tenha enviado uma URL personalizada e a mesma já esteja sendo utilizada, o usuário deve ser informado da impossibilidade de encurtar o link.
Exemplos:
- O usuário envia a URL
https://github.com/mjs-community/learning-tests/edit/master/README.md
e recebe algo comolocalhost:3000/5a127994a9352fdbf6e045f4bfd80884
- O usuário envia a URL
https://github.com/mjs-community/learning-tests/edit/master/README.md
e a string"meu-link"
recebe algo comolocalhost:3000/meu-link
. - O usuario envar outra URL com a mesma string de um link já encurtado e recebe a mensagem
"Essa string já está em uso"
.
No exemplo, é utilizado
localhost:3000
, mas isso depende do host em que a API estiver deployada, além do domínio.