Nesse desafio, você deverá criar testes de integração para a mesma aplicação usada no desafio anterior.
Você pode inclusive fazer as alterações no mesmo repositório submetido no desafio de testes unitários e submetê-lo na plataforma.
Para realizar esse desafio, criamos para você esse modelo que você deve utilizar como um template do GitHub.
rocketseat-education/ignite-template-tests-challenge
Dica: Caso não saiba utilizar repositórios do GitHub como template, temos um guia em **nosso FAQ.**
Para ter o funcionamento normal da aplicação durante os testes de integração é importante que você confira os dados de autenticação do banco no arquivo ormconfig.json
e, se necessário, altere.
Além disso você precisa criar uma database com o nome fin_api
de acordo com o que está no arquivo de configurações do TypeORM antes de rodar as migrations.
<aside>
💡 Se você quiser usar um banco específico somente para os testes, sinta-se livre para criar a sua própria configuração de conexão no arquivo src/database/index.ts
. Isso não irá afetar a correção do seu desafio 🚀
</aside>
Para te ajudar a entender melhor o funcionamento da aplicação como um todo, abaixo você verá uma descrição de cada rota e quais parâmetros recebe.
/api/v1/users
A rota recebe name
, email
e password
dentro do corpo da requisição, salva o usuário criado no banco e retorna uma resposta vazia com status 201
.
/api/v1/sessions
A rota recebe email
e password
no corpo da requisição e retorna os dados do usuário autenticado junto à um token JWT.
<aside> 💡 Essa aplicação não possui refresh token, ou seja, o token criado dura apenas 1 dia e deve ser recriado após o período mencionado.
</aside>
/api/v1/profile