package org.ektorp;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
public class PageRequestTest {
@Test
public void testFromLink() {
PageRequest pl = PageRequest
.firstPage(5)
.nextRequest("exampleKey", "65f996f8b1024f00a81ef10264459a1d")
.page(1).build();
String link = pl.asLink();
assertEquals(pl, PageRequest.fromLink(link));
}
@Test
public void testFromLink2() {
PageRequest pl = PageRequest.firstPage(5);
String link = pl.asLink();
assertEquals(pl, PageRequest.fromLink(link));
}
@Test
public void testFromLinkWithNullDocId() {
PageRequest pl = PageRequest
.firstPage(5)
.nextRequest("exampleKey", null)
.page(1).build();
String link = pl.asLink();
assertEquals(pl, PageRequest.fromLink(link));
}
@Test
public void testFromLinkWithNullKey() {
PageRequest item = PageRequest
.firstPage(5)
.nextRequest(null, "65f996f8b1024f00a81ef10264459a1d")
.page(1).build();
assertEquals("org.ektorp.PageRequest(pageSize=5,page=1,back=false,nextKey=org.ektorp.PageRequest$KeyIdPair(key=null,docId=65f996f8b1024f00a81ef10264459a1d))", item.toString());
}
@Test
public void shouldToStringWorkWhenOnlyFirstPageIsSet() {
PageRequest item = PageRequest.firstPage(5);
assertEquals("org.ektorp.PageRequest(pageSize=5,page=0,back=false,nextKey=null)", item.toString());
}
@Test
public void shouldToStringWorkWithKeyAndDocId() {
PageRequest item = PageRequest
.firstPage(5)
.nextRequest("exampleKey", "65f996f8b1024f00a81ef10264459a1d")
.page(1).build();
assertEquals("org.ektorp.PageRequest(pageSize=5,page=1,back=false,nextKey=org.ektorp.PageRequest$KeyIdPair(key=\"exampleKey\",docId=65f996f8b1024f00a81ef10264459a1d))", item.toString());
}
@Test
public void shouldToStringWorkWithKeyButNullDocId() {
PageRequest item = PageRequest
.firstPage(5)
.nextRequest("exampleKey", null)
.page(1).build();
assertEquals("org.ektorp.PageRequest(pageSize=5,page=1,back=false,nextKey=org.ektorp.PageRequest$KeyIdPair(key=\"exampleKey\",docId=null))", item.toString());
}
@Test
public void shouldToJsonWorkWhenOnlyFirstPageIsSet() {
PageRequest item = PageRequest.firstPage(5);
assertEquals("{\"s\":5,\"b\":0,\"p\":0}", item.asJson().toString());
}
@Test
public void shouldToJsonWorkWithKeyAndDocId() {
PageRequest item = PageRequest
.firstPage(5)
.nextRequest("exampleKey", "65f996f8b1024f00a81ef10264459a1d")
.page(1).build();
assertEquals("{\"key\":\"exampleKey\",\"id\":\"65f996f8b1024f00a81ef10264459a1d\",\"s\":5,\"b\":0,\"p\":1}", item.asJson().toString());
}
@Test
public void shouldToJsonWorkWithKeyButNullDocId() {
PageRequest item = PageRequest
.firstPage(5)
.nextRequest("exampleKey", null)
.page(1).build();
assertEquals("{\"key\":\"exampleKey\",\"s\":5,\"b\":0,\"p\":1}", item.asJson().toString());
}
@Test
public void shouldReadPageLink() {
String pageLink = "eyJrZXkiOiIyMDE0LTEwLTA3VDEwOjI0OjU0LjAwMCswMDAwIiwiaWQiOiJmYTNjZjVlNjQyYTc5Zjg4NDI1ODg1NzcxZjQwMjZkZSIsInMiOjMwLCJiIjoxLCJwIjoyfQ==";
PageRequest item = PageRequest.fromLink(pageLink);
assertEquals("org.ektorp.PageRequest(pageSize=30,page=2,back=true,nextKey=org.ektorp.PageRequest$KeyIdPair(key=\"2014-10-07T10:24:54.000+0000\",docId=fa3cf5e642a79f88425885771f4026de))", item.toString());
}
}