Status: finalizado ✔
Utilizando os dados disponÃveis em dois mockends (um com uma lista de usuários e outro com uma lista de produtos), foi desenvolvido uma API onde é possÃvel:
- listar os dados dos usuários ("users");
- listar os dados dos produtos ("products");
- calcular o orçamento ("budget") que cada usuário irá pagar em cima do(s) preço(s) do(s) produtos(s) selecionado(s);
Antes de baixar o projeto, certifique-se de que você tenha o Node, o npm (gerenciador de pacotes do Node) e o Git instalandos e devidamente configurados no seu computador.
Abaixo estão alguns links de apoio:
É recomendado que os comandos abaixo sejam feitos em um terminal bash
# 1: clone o repositório
git clone git@github.com:celiovjunior/teste-api.git
# 2: acesse a pasta do projeto
cd teste-api
# 3: faça o download das bibliotecas/frameworks pendentes e aguarde
npm install
# 4: execute o projeto
npm run dev
# Uma mensagem dizendo 'Server is running' deverá aparecer
Os dados do projeto foram trabalhados no formato JSON
Segue os exemplos abaixo:
USER
[
{
"id": 1,
"name": "cvRhuZicvV",
"tax": 79
},
{
"id": 2,
"name": "P5hBDBonm3",
"tax": 121
},
{
"id": 3,
"name": "buTTe8n3gT",
"tax": 82
},
{...}
]
PRODUCT
[
{
"id": 1,
"name": "explicabo alias hic reprehenderit deleniti quos id reprehenderit consequuntur ipsam iure voluptatem ea culpa excepturi ducimus repudiandae ab",
"price": 6945
},
{
"id": 2,
"name": "nostrum veritatis reprehenderit repellendus vel numquam soluta ex inventore ex",
"price": 2435
},
{
"id": 3,
"name": "praesentium explicabo reprehenderit laudantium a pariatur ab sit pariatur quos",
"price": 4985
},
{...}
]
Para testar as requisições do projeto, é recomendável utilizar algum software de teste de API, como Postman ou Insomnia
Abaixo, alguns links de apoio:Na tabela seguir, estão algumas orientações de quais rotas são possÃveis testar, o tipo de requisição e qual a ação esperada:
A URL base padrão é: http://localhost:3333
Ação | Método HTTP | Rota |
Listar todos os usuários | GET |
"/users" |
Listar todos os produtos | GET |
"/products" |
Fazer o calculo de orçamento | GET |
"/budget/:userId/:productIds" |
OBS: Na rota de cálculo de orçamento, é possÃvel passar mais de um id em
:productIds
, separando cada id por vÃrgula (,)
Para a realização dos testes, foi utilizada framework Jest.
Você pode acessar mais detalhes sobre essa ferramenta através do link abaixo:
Neste projeto, o Jest foi utilizado para testar se os middlewares se comportam da forma esperada, tendo em vista o status da resposta da requisição (statusCode
), o tamanho da lista retornada (length
) e o calculo do orçamento (budget
) de acordo com os parâmetros passados na rota .
O arquivo de teste se encontra dentro da pasta middleware
:
Para rodar os testes, basta rodar o comando abaixo no terminal, dentro do da pasta raiz do projeto:
npm run test
Em caso de dúvidas, erros ou mal funcionamento do código, você pode entrar em contato comigo através do e-mail:
📩 cl.juniorr@gmail.com