Search in sources :

Example 6 with Sort

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);
}
Also used : Sort(jakarta.nosql.Sort) Test(org.junit.jupiter.api.Test)

Example 7 with 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);
}
Also used : Sort(jakarta.nosql.Sort) Test(org.junit.jupiter.api.Test)

Example 8 with 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());
}
Also used : SelectQuery(jakarta.nosql.query.SelectQuery) Condition(jakarta.nosql.query.Condition) Sort(jakarta.nosql.Sort) Where(jakarta.nosql.query.Where) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 9 with Sort

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());
}
Also used : ColumnQuery(jakarta.nosql.column.ColumnQuery) Column(jakarta.nosql.column.Column) Sort(jakarta.nosql.Sort) Person(jakarta.nosql.tck.entities.Person) ColumnCondition(jakarta.nosql.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Example 10 with Sort

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 = " , ";
    }
}
Also used : Sort(jakarta.nosql.Sort)

Aggregations

Sort (jakarta.nosql.Sort)22 Test (org.junit.jupiter.api.Test)10 SelectQuery (jakarta.nosql.query.SelectQuery)9 List (java.util.List)5 Collectors (java.util.stream.Collectors)5 Params (jakarta.nosql.Params)4 QueryException (jakarta.nosql.QueryException)4 ServiceLoaderProvider (jakarta.nosql.ServiceLoaderProvider)4 ColumnQuery (jakarta.nosql.column.ColumnQuery)4 SelectQueryProvider (jakarta.nosql.query.SelectQuery.SelectQueryProvider)4 Objects (java.util.Objects)4 Collectors.toList (java.util.stream.Collectors.toList)4 Stream (java.util.stream.Stream)4 ColumnCondition (jakarta.nosql.column.ColumnCondition)3 ColumnEntity (jakarta.nosql.column.ColumnEntity)3 DocumentCondition (jakarta.nosql.document.DocumentCondition)3 DocumentQuery (jakarta.nosql.document.DocumentQuery)3 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)3 ValueSource (org.junit.jupiter.params.provider.ValueSource)3 Column (jakarta.nosql.column.Column)2