O desafio consiste em completar o desenvolvimento de uma API capaz de gerir empréstimos, salvando informações necessárias do cliente para realização do cálculo do valor da parcela (PMT), além de haver a possibilidade de leitura desses dados pelo cliente.
- Ruby 2.7.2
- Rails 6.1.3.2
- PostgreSQL 13.4
- Testes
- Rspec
- Factory Bot
- Simplecov
- Rubocop
- Realização do cálculo do valor da parcela (PMT)
- Leitura de um PMT cadastrado previamente
- Clone em sua máquina
git clone https://github.com/weslley6216/nx_challenge.git
cd nx_challenge
bin/setup
Realize a criação de dados preexistentes no banco de dados com o comando
rails db:seed
- Retorna uma simulação de empréstimo ao receber um id válido
curl --request GET http://localhost:3000/loans/1 -H 'Content-Type: application/json'
- HTTP Status: 200 - Simulação de empréstimo encontrado com sucesso
{"loan":{"id":1,"pmt":"349.88"}}
- HTTP Status: 404 - Código da simulação de empréstimo não existente
{
"id": "238",
"message":"Empréstimo não encontrado"
}
- Retorna um empréstimo após receber os seguintes parametros:
curl --request POST http://localhost:3000/loans -H 'Content-Type: application/json' -d '{"value":"3700", "rate":"2"}'
Exemplo:
- HTTP Status: 201 - Empréstimo criado com sucesso
{"loan":{"id":3}}
- HTTP Status: 422 - Parâmetros faltando ou em branco
{
"value":[
"não pode ficar em branco"
],
"rate":[
"não pode ficar em branco"
]
}
- HTTP Status: 422 - Parâmetros não sejam números
{
"value":[
"não é um número"
],
"rate":[
"não é um número"
]
}
- HTTP Status: 422 - Parâmetros que não sejam números maiores de zero
{
"value":[
"deve ser maior que 0"
],
"rate":[
"deve ser maior que 0"
]
}