Já pediu para alguém alguma recomendação de música? Chegou a hora de transformar isso em código. Nessa semana, você vai construir a rede Sing me a Song. Ou melhor, os testes desta rede!
Sing me a song é uma aplicação para recomendação anômina de músicas. Quanto mais as pessoas curtirem uma recomendação, maior a chance dela ser recomendada para outras pessoas 🙂
Neste projeto você receberá um front-end e back-end completamente implementados! 😱
- Projeto original: https://github.com/driven-projects/sing-me-a-song
Seu trabalho será implementar os testes do projeto 🙂
- Siga as boas práticas de construção de projetos (ESLint e/ou Prettier, Variáveis de Ambiente e Readme)
- Escreva testes ponta a ponta (E2E) para os fluxos de uso do sistema
- Escreva testes de integração para todas as rotas
- Escreva testes unitários para a camada de Services com 100% de coverage
- Atenção para mockar a camada de Repositories e dependências externas (dica:
Math.random
)
- Atenção para mockar a camada de Repositories e dependências externas (dica:
- git clone
- npm i (faça isso tanto para a pasta de front-end quanto back end - certifique-se que está rodando dentro da pasta correta)
- Acesse a pasta do back-end e rode o comando:
- npm run migrate:test
- Ainda dentro da pasta do back-end rode o comando:
- npm run dev:test
- Ainda dentro da pasta do back-end rode o comando:
- npm test
- Acompanhe o terminal enquanto os testes são feitos.
- Certifique-se que esta dentro da pasta do front-end e ja tenha instalado as dependências, como descrito na segunda instrução
- Rode o comando abaixo para abrir a interface gráfica do crypress:
- npx cypress open
- downvote (para testar a função de dislike)
- upvote (para testar a função de like)
- home (para testar a função de inserir três recomendações de videos)
- random (para testar a função receber uma recomendação aleatória)
- top (para testar a função dos top videos)