@@ -171,12 +171,12 @@ public class Query {
|
|||||||
*/
|
*/
|
||||||
public Query with(Pageable pageable) {
|
public Query with(Pageable pageable) {
|
||||||
|
|
||||||
if (pageable.isUnpaged()) {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
assertNoCaseSort(pageable.getSort());
|
assertNoCaseSort(pageable.getSort());
|
||||||
|
|
||||||
|
if (pageable.isUnpaged()) {
|
||||||
|
return new Query(this.criteria, this.columns, this.sort.and(pageable.getSort()), this.limit, this.offset);
|
||||||
|
}
|
||||||
|
|
||||||
return new Query(this.criteria, this.columns, this.sort.and(pageable.getSort()), pageable.getPageSize(),
|
return new Query(this.criteria, this.columns, this.sort.and(pageable.getSort()), pageable.getPageSize(),
|
||||||
pageable.getOffset());
|
pageable.getOffset());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,16 +19,18 @@ import static org.assertj.core.api.Assertions.*;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests the {@link Query} class.
|
* Tests the {@link Query} class.
|
||||||
*
|
*
|
||||||
* @author Jens Schauder
|
* @author Jens Schauder
|
||||||
|
* @author Mark Paluch
|
||||||
*/
|
*/
|
||||||
public class QueryUnitTests {
|
public class QueryUnitTests {
|
||||||
|
|
||||||
@Test // DATAJDBC614
|
@Test // DATAJDBC-614
|
||||||
public void withCombinesSortAndPaging() {
|
public void withCombinesSortAndPaging() {
|
||||||
|
|
||||||
Query query = Query.empty() //
|
Query query = Query.empty() //
|
||||||
@@ -40,7 +42,7 @@ public class QueryUnitTests {
|
|||||||
.containsExactly("alpha", "beta");
|
.containsExactly("alpha", "beta");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test // DATAJDBC614
|
@Test // DATAJDBC-614
|
||||||
public void withCombinesEmptySortAndPaging() {
|
public void withCombinesEmptySortAndPaging() {
|
||||||
|
|
||||||
Query query = Query.empty() //
|
Query query = Query.empty() //
|
||||||
@@ -51,7 +53,7 @@ public class QueryUnitTests {
|
|||||||
.containsExactly("beta");
|
.containsExactly("beta");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test // DATAJDBC614
|
@Test // DATAJDBC-614
|
||||||
public void withCombinesSortAndUnsortedPaging() {
|
public void withCombinesSortAndUnsortedPaging() {
|
||||||
|
|
||||||
Query query = Query.empty() //
|
Query query = Query.empty() //
|
||||||
@@ -62,4 +64,17 @@ public class QueryUnitTests {
|
|||||||
.extracting(Sort.Order::getProperty) //
|
.extracting(Sort.Order::getProperty) //
|
||||||
.containsExactly("alpha");
|
.containsExactly("alpha");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test // GH-1939
|
||||||
|
public void withCombinesUnpagedWithSort() {
|
||||||
|
|
||||||
|
Query query = Query.empty() //
|
||||||
|
.with(Pageable.unpaged(Sort.by("beta")));
|
||||||
|
|
||||||
|
assertThat(query.getSort().get()) //
|
||||||
|
.extracting(Sort.Order::getProperty) //
|
||||||
|
.containsExactly("beta");
|
||||||
|
assertThat(query.getLimit()).isEqualTo(-1);
|
||||||
|
assertThat(query.getOffset()).isEqualTo(-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user