use of jakarta.nosql.Sort in project jnosql-diana by eclipse.
the class SortTest method shouldCreateInstanceFromAsc.
@Test
public void shouldCreateInstanceFromAsc() {
Sort sort = Sort.asc("name");
Assertions.assertEquals(Sort.of("name", SortType.ASC), sort);
}
use of jakarta.nosql.Sort in project jnosql-diana by eclipse.
the class SortTest method shouldCreateInstanceFromDesc.
@Test
public void shouldCreateInstanceFromDesc() {
Sort sort = Sort.desc("name");
Assertions.assertEquals(Sort.of("name", SortType.DESC), sort);
}
use of jakarta.nosql.Sort in project jnosql-diana by eclipse.
the class FindByMethodQueryProviderTest method shouldRunQuery32.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "findBySalary_CurrencyOrderBySalary_Value" })
public void shouldRunQuery32(String query) {
String entity = "entity";
SelectQuery selectQuery = queryProvider.apply(query, entity);
assertNotNull(selectQuery);
assertEquals(entity, selectQuery.getEntity());
assertTrue(selectQuery.getFields().isEmpty());
assertFalse(selectQuery.getOrderBy().isEmpty());
assertEquals(0, selectQuery.getLimit());
assertEquals(0, selectQuery.getSkip());
Optional<Where> where = selectQuery.getWhere();
assertTrue(where.isPresent());
assertTrue(where.isPresent());
Condition condition = where.get().getCondition();
Assertions.assertEquals(Operator.EQUALS, condition.getOperator());
assertEquals("salary.currency", condition.getName());
final Sort sort = selectQuery.getOrderBy().get(0);
Assertions.assertEquals("salary.value", sort.getName());
}
use of jakarta.nosql.Sort in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyTest method shouldFindBySalary_CurrencyOrderByCurrency_Name.
@Test
public void shouldFindBySalary_CurrencyOrderByCurrency_Name() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
personRepository.findBySalary_CurrencyOrderByCurrency_Name("USD");
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
ColumnQuery query = captor.getValue();
ColumnCondition condition = query.getCondition().get();
final Sort sort = query.getSorts().get(0);
final Column document = condition.getColumn();
assertEquals("Person", query.getColumnFamily());
assertEquals("salary.currency", document.getName());
assertEquals("currency.name", sort.getName());
}
use of jakarta.nosql.Sort in project jnosql-diana-driver by eclipse.
the class QueryAQLConverter method sort.
private static void sort(List<Sort> sorts, StringBuilder aql, char entity) {
aql.append(SORT);
String separator = SEPARATOR;
for (Sort sort : sorts) {
aql.append(separator).append(entity).append('.').append(sort.getName()).append(SEPARATOR).append(sort.getType());
separator = " , ";
}
}
Aggregations