use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class ColumnRepositoryProxyTest method shouldSaveUsingUpdateWhenDataExists.
@Test
public void shouldSaveUsingUpdateWhenDataExists() {
when(template.find(Person.class, 10L)).thenReturn(Optional.of(Person.builder().build()));
ArgumentCaptor<Person> captor = ArgumentCaptor.forClass(Person.class);
Person person = Person.builder().withName("Ada").withId(10L).withPhones(singletonList("123123")).build();
assertNotNull(personRepository.save(person));
verify(template).update(captor.capture());
Person value = captor.getValue();
assertEquals(person, value);
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis 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(singletonList(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 org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class ColumnRepositoryProxyTest method shouldFindByNameLike.
@Test
public void shouldFindByNameLike() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(singletonList(ada));
personRepository.findByNameLike("Ada");
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(LIKE, condition.getCondition());
assertEquals(Column.of("name", "Ada"), condition.getColumn());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class ColumnRepositoryProxyTest method shouldExecuteQuery.
@Test
public void shouldExecuteQuery() {
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.singleResult(any(ColumnQuery.class))).thenReturn(Optional.of(ada));
ColumnQuery query = select().from("Person").where("name").eq("Ada").build();
Person person = personRepository.query(query);
verify(template).singleResult(captor.capture());
assertEquals(ada, person);
assertEquals(query, captor.getValue());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class ColumnRepositoryProxyTest method shouldFindByAgeANDName.
@Test
public void shouldFindByAgeANDName() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(singletonList(ada));
Set<Person> persons = personRepository.findByAgeAndName(20, "name");
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
assertThat(persons, Matchers.contains(ada));
}
Aggregations