use of jakarta.nosql.mapping.column.ColumnQueryPagination in project jnosql-diana by eclipse.
the class DefaultColumnMapperSelectBuilderTest method shouldCreatePage.
@Test
public void shouldCreatePage() {
Pagination pagination = Pagination.page(2).size(2);
ColumnTemplate template = Mockito.mock(ColumnTemplate.class);
ArgumentCaptor<ColumnQueryPagination> queryCaptor = ArgumentCaptor.forClass(ColumnQueryPagination.class);
Page<Person> page = mapperBuilder.selectFrom(Person.class).page(template, pagination);
Mockito.verify(template).select(queryCaptor.capture());
ColumnQuery query = queryCaptor.getValue();
assertEquals(pagination.getLimit(), query.getLimit());
assertEquals(pagination.getSkip(), query.getSkip());
}
use of jakarta.nosql.mapping.column.ColumnQueryPagination in project jnosql-diana by eclipse.
the class DefaultColumnQueryPaginationTest method shouldNext.
@Test
public void shouldNext() {
ColumnQuery query = select().from("column").where("name").eq("Ada").build();
Pagination pagination = Pagination.page(1).size(2);
Pagination secondPage = pagination.next();
ColumnQueryPagination queryPagination = ColumnQueryPagination.of(query, pagination);
assertNotNull(queryPagination);
assertEquals(pagination.getLimit(), queryPagination.getLimit());
assertEquals(pagination.getSkip(), queryPagination.getSkip());
isQueryEquals(query, pagination, queryPagination);
ColumnQueryPagination next = queryPagination.next();
isQueryEquals(query, secondPage, next);
}
use of jakarta.nosql.mapping.column.ColumnQueryPagination in project jnosql-diana by eclipse.
the class DefaultColumnQueryPaginationTest method shouldOverrideSkipLimit.
@Test
public void shouldOverrideSkipLimit() {
ColumnQuery query = select().from("column").build();
Pagination pagination = Pagination.page(1).size(2);
ColumnQueryPagination queryPagination = ColumnQueryPagination.of(query, pagination);
assertNotNull(queryPagination);
assertEquals(pagination.getLimit(), queryPagination.getLimit());
assertEquals(pagination.getSkip(), queryPagination.getSkip());
}
use of jakarta.nosql.mapping.column.ColumnQueryPagination in project jnosql-diana by eclipse.
the class ColumnPageTest method shouldExecutePaginationAsQuery.
@Test
public void shouldExecutePaginationAsQuery() {
Pagination pagination = Pagination.page(1).size(1);
ColumnQueryPagination queryPagination = ColumnQueryPagination.of(select().from("person").build(), pagination);
ColumnQuery query = queryPagination;
List<Person> people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(0L, people.stream().map(Person::getId).findFirst().orElse(-0L));
queryPagination = queryPagination.next();
query = queryPagination;
people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(1L, people.stream().map(Person::getId).findFirst().orElse(-0L));
queryPagination = queryPagination.next();
query = queryPagination;
people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(2L, people.stream().map(Person::getId).findFirst().orElse(-0L));
queryPagination = queryPagination.next();
query = queryPagination;
people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(3L, people.stream().map(Person::getId).findFirst().orElse(-0L));
queryPagination = queryPagination.next();
query = queryPagination;
people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(4L, people.stream().map(Person::getId).findFirst().orElse(-0L));
queryPagination = queryPagination.next();
query = queryPagination;
people = subject.<Person>select(query).collect(Collectors.toList());
assertEquals(5L, people.stream().map(Person::getId).findFirst().orElse(-0L));
}
use of jakarta.nosql.mapping.column.ColumnQueryPagination in project jnosql-diana by eclipse.
the class ColumnPageTest method shouldExecutePagination.
@Test
public void shouldExecutePagination() {
Pagination pagination = Pagination.page(1).size(1);
ColumnQueryPagination query = ColumnQueryPagination.of(select().from("person").build(), pagination);
Page<Person> page = subject.select(query);
verify(managerMock).select(query);
assertNotNull(page);
assertEquals(pagination, page.getPagination());
}
Aggregations