https://github.com/alnmaurofranco/finance-api-tests-desafio
Desafio 08, 09 & 10 concluídos - Ignite Rocketseat
https://github.com/alnmaurofranco/finance-api-tests-desafio
jest nodejs postgresql typeorm typescript
Last synced: 3 months ago
JSON representation
Desafio 08, 09 & 10 concluídos - Ignite Rocketseat
- Host: GitHub
- URL: https://github.com/alnmaurofranco/finance-api-tests-desafio
- Owner: alnmaurofranco
- Created: 2022-02-27T05:59:38.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T02:19:51.000Z (over 2 years ago)
- Last Synced: 2025-10-26T17:48:21.578Z (8 months ago)
- Topics: jest, nodejs, postgresql, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 127 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
FinanceAPI - Desafio 08, 09 e 10 concluídos - Testes unitários, integrações e novas funcionalidades
## 💫 Sobre o desafio 08
Nesse desafio, você deverá criar testes unitários para uma aplicação já pronta usando tudo que aprendeu até agora sobre testes.
## 💫 Sobre o desafio 09
Nesse desafio, você deverá criar testes de integração para a mesma aplicação usada no desafio anterior.
## 💫 Sobre o desafio 10
A nova funcionalidade deverá permitir a transferência de valores entre contas. Para isso, você pode pensar na melhor forma de construir essa solução mas alguns requisitos deverão ser cumpridos:
- Não deve ser possível transferir valores superiores ao disponível no saldo de uma conta;
- O balance (obtido através da rota `/api/v1/statements/balance`) deverá considerar também todos os valores transferidos ou recebidos através de transferências ao exibir o saldo de um usuário;
- As informações para realizar uma transferência serão:
```json
{
"amount": 100,
"description": "Descrição da transferência"
}
```
Você pode passar o `id` do usuário destinatário via parâmetro na rota (exemplo: `/api/v1/statements/transfers/:user_id`) e o id do usuário remetente poderá ser obtido através do token JWT enviado no header da requisição;
- Ao mostrar o balance de um usuário, operações do tipo `transfer` deverão possuir os seguintes campos:
```json
{
"id": "4d04b6ec-2280-4dc2-9432-8a00f64e7930",
"sender_id": "cfd06865-11b9-412a-aa78-f47cc3e52905"
"amount": 100,
"description": "Transferência de valor",
"type": "transfer",
"created_at": "2021-03-26T21:33:11.370Z",
"updated_at": "2021-03-26T21:33:11.370Z"
}
```
Observe o campo `sender_id`. Esse deverá ser o `id` do usuário que enviou a transferência.
O campo `type` também deverá exibir o tipo da operação, que nesse caso é `transfer`.
## ✅ Testes 08 & 09

## 🚀 Tecnologias
---