use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyTest method shouldFindBySalary_CurrencyAndSalary_Value.
@Test
public void shouldFindBySalary_CurrencyAndSalary_Value() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
personRepository.findBySalary_CurrencyAndSalary_Value("USD", BigDecimal.TEN);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
ColumnQuery query = captor.getValue();
ColumnCondition condition = query.getCondition().get();
final Column column = condition.getColumn();
final List<ColumnCondition> conditions = column.get(new TypeReference<List<ColumnCondition>>() {
});
final List<String> names = conditions.stream().map(ColumnCondition::getColumn).map(Column::getName).collect(Collectors.toList());
assertEquals("Person", query.getColumnFamily());
MatcherAssert.assertThat(names, Matchers.containsInAnyOrder("salary.currency", "salary.value"));
}
use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyTest method shouldFindByAgeLessEqual.
@Test
public void shouldFindByAgeLessEqual() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
personRepository.findByAgeLessThan(33);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
ColumnQuery query = captor.getValue();
ColumnCondition condition = query.getCondition().get();
assertEquals("Person", query.getColumnFamily());
assertEquals(LESSER_THAN, condition.getCondition());
assertEquals(Column.of("age", 33), condition.getColumn());
}
use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyTest method shouldFindByNameANDAge.
@Test
public void shouldFindByNameANDAge() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
List<Person> persons = personRepository.findByNameAndAge("name", 20);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
assertThat(persons, Matchers.contains(ada));
}
use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyTest method shouldFindByNameANDAgeOrderByName.
@Test
public void shouldFindByNameANDAgeOrderByName() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
Stream<Person> persons = personRepository.findByNameAndAgeOrderByName("name", 20);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
assertThat(persons.collect(Collectors.toList()), Matchers.contains(ada));
}
use of jakarta.nosql.tck.entities.Person in project jnosql-diana by eclipse.
the class DefaultColumnMapperSelectBuilderTest method shouldConvertField.
@Test
public void shouldConvertField() {
ColumnQuery query = mapperBuilder.selectFrom(Person.class).where("id").eq("20").build();
ColumnQuery queryExpected = select().from("Person").where("_id").eq(20L).build();
assertEquals(queryExpected, query);
}
Aggregations