A empresa XPTO realizou um sorteio entre jogadores do Brasil inteiro, porém, os brindes precisam chegar a seus ganhadores de alguma maneira. Para tanto, é necessário implementar um sistema para calcular o menor custo para o envio de cada brinde de acordo com a distância do ganhador, e o peso do brinde. Ao entrar em contato com as transportadoras, recebemos as seguintes condições para o transporte:
Empresa | Valor fixo | Valor km/kg |
---|---|---|
DHL | R$ 10,00 | R$ 0,05 |
FedEx | R$ 4,30 | R$ 0,12 |
Loggi (até 5kg) | R$ 2,10 | R$ 1,10 |
Loggi (+ 5kg) | R$ 10,00 | R$ 0,01 |
Para clonar o repositório usando a linha de comando, execute:
> git clone https://github.com/gustavofreze/cheap-delivery.git
> make configure
URLs de acesso:
Ambiente | DNS |
---|---|
Local |
http://cheap-delivery.localhost:81 |
POST {{dns}}/shipment
Request
{
"person": {
"name": "Gustavo",
"distance": 150.00
},
"product": {
"name": "Notebook",
"weight": 3.70
}
}
Response
HTTP/1.1 200 OK
{
"carrier": "DHL",
"cost": 37.75
}
-
Executa todos os testes:
> make test
-
Executa todos os testes, e gera o relatório de cobertura:
> make test-coverage