Search in sources :

Example 76 with Condition

use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.

the class FindByMethodQueryProviderTest method shouldRunQuery31.

@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "findBySalary_CurrencyAndName" })
public void shouldRunQuery31(String query) {
    String entity = "entity";
    SelectQuery selectQuery = queryProvider.apply(query, entity);
    assertNotNull(selectQuery);
    assertEquals(entity, selectQuery.getEntity());
    assertTrue(selectQuery.getFields().isEmpty());
    assertTrue(selectQuery.getOrderBy().isEmpty());
    assertEquals(0, selectQuery.getLimit());
    assertEquals(0, selectQuery.getSkip());
    Optional<Where> where = selectQuery.getWhere();
    assertTrue(where.isPresent());
    Condition condition = where.get().getCondition();
    Assertions.assertEquals(Operator.AND, condition.getOperator());
    final QueryValue<?> value = condition.getValue();
    Condition condition1 = ConditionQueryValue.class.cast(value).get().get(0);
    Condition condition2 = ConditionQueryValue.class.cast(value).get().get(1);
    assertEquals("salary.currency", condition1.getName());
    assertEquals("name", condition2.getName());
}
Also used : SelectQuery(jakarta.nosql.query.SelectQuery) Condition(jakarta.nosql.query.Condition) Where(jakarta.nosql.query.Where) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 77 with Condition

use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.

the class FindByMethodQueryProviderTest method checkNotCondition.

private void checkNotCondition(String query, Operator operator, String variable) {
    String entity = "entity";
    SelectQuery selectQuery = queryProvider.apply(query, entity);
    assertNotNull(selectQuery);
    assertEquals(entity, selectQuery.getEntity());
    assertTrue(selectQuery.getFields().isEmpty());
    assertTrue(selectQuery.getOrderBy().isEmpty());
    assertEquals(0, selectQuery.getLimit());
    assertEquals(0, selectQuery.getSkip());
    Optional<Where> where = selectQuery.getWhere();
    assertTrue(where.isPresent());
    Condition condition = where.get().getCondition();
    QueryValue<?> value = condition.getValue();
    assertEquals(Operator.NOT, condition.getOperator());
    assertEquals("_NOT", condition.getName());
    assertTrue(value instanceof ConditionQueryValue);
    Condition condition1 = ConditionQueryValue.class.cast(value).get().get(0);
    QueryValue<?> param = condition1.getValue();
    assertEquals(operator, condition1.getOperator());
    assertTrue(ParamQueryValue.class.cast(param).get().contains(variable));
}
Also used : SelectQuery(jakarta.nosql.query.SelectQuery) Condition(jakarta.nosql.query.Condition) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) ConditionQueryValue(jakarta.nosql.query.ConditionQueryValue) Where(jakarta.nosql.query.Where)

Example 78 with Condition

use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.

the class FindByMethodQueryProviderTest method shouldReturnParserQuery27.

@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "findByAgeBetween" })
public void shouldReturnParserQuery27(String query) {
    Operator operator = Operator.BETWEEN;
    String entity = "entity";
    SelectQuery selectQuery = queryProvider.apply(query, entity);
    assertNotNull(selectQuery);
    assertEquals(entity, selectQuery.getEntity());
    assertTrue(selectQuery.getFields().isEmpty());
    assertTrue(selectQuery.getOrderBy().isEmpty());
    assertEquals(0, selectQuery.getLimit());
    assertEquals(0, selectQuery.getSkip());
    Optional<Where> where = selectQuery.getWhere();
    assertTrue(where.isPresent());
    Condition condition = where.get().getCondition();
    QueryValue<?> value = condition.getValue();
    assertEquals(operator, condition.getOperator());
    QueryValue<?>[] values = MethodArrayValue.class.cast(value).get();
    ParamQueryValue param1 = (ParamQueryValue) values[0];
    ParamQueryValue param2 = (ParamQueryValue) values[1];
    assertNotEquals(param2.get(), param1.get());
}
Also used : Operator(jakarta.nosql.query.Operator) SelectQuery(jakarta.nosql.query.SelectQuery) Condition(jakarta.nosql.query.Condition) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) Where(jakarta.nosql.query.Where) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) ConditionQueryValue(jakarta.nosql.query.ConditionQueryValue) QueryValue(jakarta.nosql.query.QueryValue) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 79 with Condition

use of jakarta.nosql.query.Condition in project jnosql-diana by eclipse.

the class FindByMethodQueryProviderTest method shouldRunQuery29.

@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "findBySalary_Currency" })
public void shouldRunQuery29(String query) {
    String entity = "entity";
    SelectQuery selectQuery = queryProvider.apply(query, entity);
    assertNotNull(selectQuery);
    assertEquals(entity, selectQuery.getEntity());
    assertTrue(selectQuery.getFields().isEmpty());
    assertTrue(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());
}
Also used : SelectQuery(jakarta.nosql.query.SelectQuery) Condition(jakarta.nosql.query.Condition) Where(jakarta.nosql.query.Where) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

Condition (jakarta.nosql.query.Condition)79 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)66 ValueSource (org.junit.jupiter.params.provider.ValueSource)66 Where (jakarta.nosql.query.Where)61 SelectQuery (jakarta.nosql.query.SelectQuery)31 DeleteQuery (jakarta.nosql.query.DeleteQuery)29 NumberQueryValue (jakarta.nosql.query.NumberQueryValue)28 ConditionQueryValue (jakarta.nosql.query.ConditionQueryValue)25 StringQueryValue (jakarta.nosql.query.StringQueryValue)24 ParamQueryValue (jakarta.nosql.query.ParamQueryValue)18 JsonObject (javax.json.JsonObject)18 JSONQueryValue (jakarta.nosql.query.JSONQueryValue)16 FunctionQueryValue (jakarta.nosql.query.FunctionQueryValue)10 ArrayQueryValue (jakarta.nosql.query.ArrayQueryValue)8 Function (jakarta.nosql.query.Function)8 InsertQuery (jakarta.nosql.query.InsertQuery)7 UpdateQuery (jakarta.nosql.query.UpdateQuery)7 QueryValue (jakarta.nosql.query.QueryValue)6 Operator (jakarta.nosql.query.Operator)3 ArrayList (java.util.ArrayList)2