diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java index cd5205717..225336983 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/UserRepositoryTests.java @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -2888,16 +2889,27 @@ class UserRepositoryTests { } @Test // GH-3476 - void unPagedSortedQuery() { + void findAllUsingUnpagePageableWithSort() { flushTestUsers(); Sort sort = Sort.by(DESC, "firstname"); Page firstPage = repository.findAll(PageRequest.of(0, 10, sort)); Page secondPage = repository.findAll(Pageable.unpaged(sort)); - assertThat(firstPage.getContent()).isEqualTo(secondPage.getContent()); + assertThat(firstPage.getContent()).containsExactlyElementsOf(secondPage.getContent()); } + @Test // GH-3476 + void derivedFinderUsingUnpagedPageableWithSort() { + + flushTestUsers(); + + List sortedUsers = new ArrayList<>(List.of(firstUser, secondUser, thirdUser, fourthUser)); + sortedUsers.sort(Comparator.comparing(User::getEmailAddress)); + + assertThat(repository.findByEmailAddressLike("%@%", Pageable.unpaged(Sort.by(Direction.ASC, "lastname")))) + .containsExactlyElementsOf(sortedUsers); + } @Test // DATAJPA-905 void executesPagedSpecificationSettingAnOrder() { diff --git a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java index b2251291a..86d97ea40 100644 --- a/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java +++ b/spring-data-jpa/src/test/java/org/springframework/data/jpa/repository/sample/UserRepository.java @@ -189,6 +189,8 @@ public interface UserRepository extends JpaRepository, JpaSpecifi List findByEmailAddressLike(String email, Sort sort); + List findByEmailAddressLike(String email, Pageable pageable); + List findSpecialUsersByLastname(String lastname); List findBySpringDataNamedQuery(String lastname);