Skip to content

Commit 35f353d

Browse files
committed
Integration test: buscarPorNomePagina, returns 200.
Searches for clients using part of their names and returns a paginated list, retuns 200.
1 parent d11100b commit 35f353d

File tree

3 files changed

+35
-3
lines changed

3 files changed

+35
-3
lines changed

src/main/java/com/sistemacliente/service/ClienteService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ public Page<ClienteResponseDTO> buscarPorNome(String nome, int pagina, int itens
152152
throw new IllegalArgumentException("Nome para busca não pode ser vazio ou nulo.");
153153
}
154154

155-
PageRequest pageable = PageRequest.of(pagina, itens);
155+
PageRequest pageable = PageRequest.of(pagina, itens, Sort.by("nome").ascending());
156156
Page<Cliente> page = repository.findByNomeContainingIgnoreCase(nome, pageable);
157157

158158
return page.map(ClienteResponseDTO::new);

src/test/java/com/sistemaclliente/ClienteControllerIntegrationTest.java

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44
import static org.hamcrest.CoreMatchers.containsString;
5-
import static org.mockito.Mockito.when;
65
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
76
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
87
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
@@ -25,7 +24,6 @@
2524
import org.springframework.test.context.ActiveProfiles;
2625
import org.springframework.test.web.servlet.MockMvc;
2726

28-
import com.fasterxml.jackson.core.JsonProcessingException;
2927
import com.fasterxml.jackson.databind.ObjectMapper;
3028
import com.sistemacliente.SistemaClientesJavaApplication;
3129
import com.sistemacliente.model.Cliente;
@@ -392,6 +390,38 @@ public void listaPaginadaOrdenada_invalidParameters_returns400(int pagina, int i
392390
.andExpect(status().isBadRequest())
393391
.andExpect(content().string("A página não pode ser negativa e itens não pode ser menor que 1."));
394392
}
393+
394+
@Test @Transactional
395+
@DisplayName("Searches for clients using part of their names and returns a paginated list, retuns 200")
396+
public void buscarPorNomePagina_successWithParameters_returns200() throws Exception {
397+
Cliente cliente1 = new Cliente();
398+
cliente1.setNome("Marcus");
399+
cliente1.setCpf("23501206586");
400+
cliente1.setEmail("marcus@gmail.com");
401+
402+
Cliente cliente2 = new Cliente();
403+
cliente2.setNome("Antonio");
404+
cliente2.setCpf("20219064674");
405+
cliente2.setEmail("antonio@gmail.com");
406+
407+
Cliente cliente3 = new Cliente();
408+
cliente3.setNome("Marcelo");
409+
cliente3.setCpf("47852136582");
410+
cliente3.setEmail("marcelo@gmail.com");
411+
412+
repository.saveAndFlush(cliente1);
413+
repository.saveAndFlush(cliente2);
414+
repository.saveAndFlush(cliente3);
415+
416+
mvc.perform(get("/buscapornome?nome=mar&pagina=0&itens=2")).andExpect(status().isOk())
417+
.andExpect(jsonPath("$.content[1].nome").value("Marcus"))
418+
.andExpect(jsonPath("$.content[0].nome").value("Marcelo"))
419+
.andExpect(jsonPath("$.content[1].cpf").value("23501206586"))
420+
.andExpect(jsonPath("$.content[0].cpf").value("47852136582"))
421+
.andExpect(jsonPath("$.content[1].email").value("marcus@gmail.com"))
422+
.andExpect(jsonPath("$.content[0].email").value("marcelo@gmail.com"))
423+
.andExpect(jsonPath("$.content.length()").value(2));
424+
}
395425
}
396426

397427

src/test/java/com/sistemaclliente/ClienteControllerTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,8 @@ public void listaPaginadaOrdenada_erroDeServidor_retorno500() throws Exception{
591591
}
592592

593593
@Test
594+
@DisplayName("Searches for clients using part of their names and returns a paginated list, "
595+
+ "retuns 200")
594596
public void buscarPorNomePagina_sucessoComParametro_retorno200() throws Exception {
595597
ClienteResponseDTO cliente3 = new ClienteResponseDTO();
596598
cliente3.setId(3L);

0 commit comments

Comments
 (0)