Skip to content

Commit 3c0157d

Browse files
committed
DATACMNS-563 - Added unit tests to verify enabling one-indexed parameters are considered correctly when resolving Pageables.
1 parent f359e93 commit 3c0157d

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,25 @@ public void returnsCustomizedTemplateVariables() {
106106
assertThat(variables, is("{?foo,size,sort}"));
107107
}
108108

109+
/**
110+
* @see DATACMNS-563
111+
*/
112+
@Test
113+
public void enablingOneIndexedParameterReturnsOneForFirstPage() {
114+
115+
HateoasPageableHandlerMethodArgumentResolver resolver = getResolver();
116+
resolver.setOneIndexedParameters(true);
117+
118+
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
119+
120+
resolver.enhance(builder, null, new PageRequest(0, 10));
121+
122+
MultiValueMap<String, String> params = builder.build().getQueryParams();
123+
124+
assertThat(params.containsKey(resolver.getPageParameterName()), is(true));
125+
assertThat(params.getFirst(resolver.getPageParameterName()), is("1"));
126+
}
127+
109128
@Override
110129
protected HateoasPageableHandlerMethodArgumentResolver getResolver() {
111130

src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,22 @@ public void returnsNullIfFallbackIsNullAndOnlySizeIsGiven() throws Exception {
200200
is(nullValue()));
201201
}
202202

203+
/**
204+
* @see DATACMNS-563
205+
*/
206+
@Test
207+
public void considersOneIndexedParametersSetting() {
208+
209+
PageableHandlerMethodArgumentResolver resolver = getResolver();
210+
resolver.setOneIndexedParameters(true);
211+
212+
MockHttpServletRequest request = new MockHttpServletRequest();
213+
request.addParameter("page", "1");
214+
215+
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)
216+
.getPageNumber(), is(0));
217+
}
218+
203219
@Override
204220
protected PageableHandlerMethodArgumentResolver getResolver() {
205221
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();

0 commit comments

Comments
 (0)