API para busca de cotação de preço de quartos disponíveis em um determinado hotel. Para isso é preciso informar somente a data de check-in e check-out, e a API retornará os quartos disponíveis.
POST /search
curl -X POST http://localhost:3000/search
-H 'Content-Type: application/json'
-d '{"checkin": "2022-11-26", "checkout": "2022-11-30"}'
{
"checkin": "YYYY-MM-DD",
"checkout": "YYYY-MM-DD"
}
[
{
"name": "STUDIO CASAL",
"description": "Apartamentos no prédio principal do Resort",
"price": "R$ 1.092,00",
"image": "https://any.com/1/quartos/1/fotoprincipal.jpg"
},
{
"name": "CABANA",
"description": "Apartamentos pelos jardins do Resort",
"price": "R$ 1.321,00",
"image": "https://any.com/1/quartos/2/fotoprincipal.jpg"
}
]
Antes de começar, você vai precisar ter instalado:
- NodeJS >= 14
# Instale as dependências
npm install
# Criar arquivo .env
PORT=3000
NODE_ENV=dev
# Execute a aplicação em modo de desenvolvimento
npm run dev
Pronto! Projeto estará disponível em http://localhost:3000.
As principais ferramentas usadas na construção do projeto:
Testes unitários utilizando o Jest. Esses testes podem ser executados com:
npm run test:unit
Testes de integração utilizando o Jest e SuperTest. Esses testes podem ser executados com:
npm run test:integration
Para obter a cobertura de testes pode executar o seguinte comando:
npm run test:ci
importante: Não é possível gerar cobertura de código para arquivos de teste usando o Puppeteer se o teste usar page.$eval
, page.$$eval
ou page.evaluate
se a função passada for executada fora do escopo do Jest. Problema relatado em uma issue no github e na própria documentação do jest.