A mesma ideia dos outros testes da camada do controller (unidade), utilizando o MockMvc para performar as chamadas, alocando em uma variável do tipo ResultActions e depois fazemos as assertions.
Frisando novamente, as assertions usando o JSON path é literalmente acessando as propriedades que o Postman retorna para gente.
@Test
public void findAllShouldReturnSortedPageWhenSortByName() throws Exception {
ResultActions result =
mockMvc.perform(get("/products?page=0&size12&sort=name,asc")
.accept(MediaType.APPLICATION_JSON));
result.andExpect(status().isOk());
//verificando se a lista de fato existe
result.andExpect(jsonPath("$.content").exists());
result.andExpect(jsonPath("$.content[0].name").value("Macbook Pro"));
result.andExpect(jsonPath("$.content[1].name").value("PC Gamer"));
result.andExpect(jsonPath("$.content[2].name").value("PC Gamer Alfa"));
//verificando se a quantidade de elementos é igual a 25
//(totalElements está no JSON do Postman, conforme já vimos).
result.andExpect(jsonPath("$.totalElements").value(countTotalProducts));
}