I am trying to test paging for the following service method in a Java (Spring Boot) app:
@Override
public Page<PermissionDTO> findAll(PermissionCriteriaRequest request, Sort sort) {
    final Page<Permission> permissions = repository.findAll(request, sort);
    final List<PermissionDTO> permissionDTOs = permissions.getContent().stream().map(PermissionDTO::new)
            .collect(Collectors.toList());
    return new PageImpl<>(permissionDTOs, permissions.getPageable(), permissions.getTotalElements());
}
Here is my unit test method; here I set page to 1 and set size to 1 so that I get only one record for the first page. However, it returns all the 5 records and the PermissionCriteriaRequest parameters do not make any sense. I think the problem is related to when(permissionRepository.findAll(request, null)).thenReturn(permissionPage) because I set it to return all the 5 records. So, is it possible to test paging properly? Or is it meaningless under these circumstances?
@Test
public void test_findAll() {
    final Permission permission1 = new Permission();
    permission1.setName("Permission1");
    final Permission permission2 = new Permission();
    permission2.setName("Permission2");
    final Permission permission3 = new Permission();
    permission3.setName("Permission3");
    final Permission permission4 = new Permission();
    permission4.setName("Permission4");
    final Permission permission5 = new Permission();
    permission5.setName("Permission5");
    final List<Permission> permissionList = new ArrayList<>();
    permissionList.add(permission1);
    permissionList.add(permission2);
    permissionList.add(permission3);
    permissionList.add(permission4);
    permissionList.add(permission5);
    final Page<Permission> permissionPage = new PageImpl<>(permissionList);
    // here I set paging parameters
    final PermissionCriteriaRequest request = new PermissionCriteriaRequest();
    request.setNameFilter("Permission");
    request.setPaginated(true);
    request.setPage(1);
    request.setSize(1);
    when(permissionRepository.findAll(request, null)).thenReturn(permissionPage);
    Page<PermissionDTO> result = permissionService.findAll(request, null);
    assertEquals(permissionList.size(), result.getSize());
}
Update: Here is my repository code:
default Page<T> findAll(PageableCriteriaRequest criteriaRequest, Sort sort) {
    final SearchSpecificationBuilder<T> builder =
         new SearchSpecificationBuilder<>(criteriaRequest.getSearchCriteriaList());
    return findAll(builder.build(), getPageable(criteriaRequest, sort));
}
