Skip to content

Latest commit

 

History

History
61 lines (30 loc) · 1.89 KB

File metadata and controls

61 lines (30 loc) · 1.89 KB

Backend Test - Aplicação de José Manuel Kassimo Júnior

Build Status

codecov

Tarefas

Crie endpoints para as seguintes ações:

  • Criação de produto onde o payload será o json informado acima (exceto as propriedades isMarketable e inventory.quantity)

     POST /products
    
  • Edição de produto por sku

     PUT /products/{sku}
    
  • Recuperação de produto por sku

     GET /products/{sku}
    
  • Deleção de produto por sku

     DELETE /products/{sku}
    

Tarefa extra para facilitar na avaliação:

  • Recuperação de todos os produtos cadastrados

     GET /products
    

Requisitos

  • Toda vez que um produto for recuperado por sku deverá ser calculado a propriedade: inventory.quantity

      A propriedade inventory.quantity é a soma da quantity dos warehouses
    
  • Toda vez que um produto for recuperado por sku deverá ser calculado a propriedade: isMarketable

      Um produto é marketable sempre que seu inventory.quantity for maior que 0
    
  • Caso um produto já existente em memória tente ser criado com o mesmo sku uma exceção deverá ser lançada

      Dois produtos são considerados iguais se os seus skus forem iguais
    
  • Ao atualizar um produto, o antigo deve ser sobrescrito com o que esta sendo enviado na requisição

      A requisição deve receber o sku e atualizar com o produto que tbm esta vindo na requisição
    

Dicas

  • Para rodar o projeto basta baixa-lo e ter instalados o maven 3 e o java 1.8
  • Na pasta do projeto, execute:
    • mvn clean package para empacotar e rodar testes
    • mvn spring-boot:run para executar a aplicação