Adopet é um site fictício de adoção de pets, com funcionalidades para cadastro de tutores, de abrigos e de pets, além de solicitação de adoções. Nesse repositório o projeto será uma API Rest em Java do Adopet.
- Cadastro/atualização de tutores;
- Cadastro de abrigos;
- Cadastro de pets do abrigo;
- Listagem de pets disponíveis para adoção;
- Solicitação de adoção;
- Aprovação/reprovação de adoção;
O projeto desse repositório é apenas a API Backend, mas existe um figma com o layout que está disponível neste link: Layout no Figma
As seguintes tecnologias foram utilizadas no desenvolvimento da API Rest do projeto:
- Utilizar o padrão DTO para representar os dados que chegam e saem na API;
- Mover validações de uma entidade JPA para uma classe DTO;
- Funcionalidades do padrão DTO e as suas vantagens;
- Testar uma classe que possui dependências;
- Declarar mocks com a anotação @Mock do Mockito;
- Indicar atributos a serem instanciados e ter suas dependências substituídas pelos mocks, via anotação @InjectMocks;
- Manipular comportamentos de objetos mocks com o Mockito, via método BDDMockito.given;
- Testar uma classe Service, que coordena o fluxo de regras de negócio na aplicação;
- Utilizar o recurso de ArgumentCaptor, do Mockito, para recuperar parâmetros em mocks;
- Utilizar um spy no Mockito e sua diferença em relação a um mock;
- Escrever testes automatizados de uma classe Controller utilizando o Spring;
- Simular requisições na API com o uso da classe MockMvc do Spring;
- Verificar os retornos da API nos testes automatizados.