use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryAsyncProxyTest method shouldDeleteByNameCallBack.
@Test
public void shouldDeleteByNameCallBack() {
ArgumentCaptor<DocumentDeleteQuery> captor = ArgumentCaptor.forClass(DocumentDeleteQuery.class);
ArgumentCaptor<Consumer> consumerCaptor = ArgumentCaptor.forClass(Consumer.class);
Consumer<Void> voidConsumer = v -> {
};
personRepository.deleteByName("name", voidConsumer);
verify(template).delete(captor.capture(), consumerCaptor.capture());
DocumentDeleteQuery query = captor.getValue();
DocumentCondition condition = query.getCondition().get();
assertEquals("Person", query.getDocumentCollection());
assertEquals(Condition.EQUALS, condition.getCondition());
assertEquals(Document.of("name", "name"), condition.getDocument());
assertEquals(voidConsumer, consumerCaptor.getValue());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryAsyncProxyTest method shouldSaveUsingInsertWhenThereIsNotData.
@Test
public void shouldSaveUsingInsertWhenThereIsNotData() {
ArgumentCaptor<Person> captor = ArgumentCaptor.forClass(Person.class);
ArgumentCaptor<Consumer> consumerCaptor = ArgumentCaptor.forClass(Consumer.class);
Person person = Person.builder().withName("Ada").withId(10L).withPhones(singletonList("123123")).build();
personRepository.save(person);
verify(template).find(Mockito.eq(Person.class), Mockito.eq(10L), consumerCaptor.capture());
Consumer consumer = consumerCaptor.getValue();
consumer.accept(Optional.empty());
verify(template).insert(captor.capture());
Person value = captor.getValue();
assertEquals(person, value);
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryAsyncProxyTest method shouldSaveUsingUpdateWhenThereIsData.
@Test
public void shouldSaveUsingUpdateWhenThereIsData() {
ArgumentCaptor<Person> captor = ArgumentCaptor.forClass(Person.class);
ArgumentCaptor<Consumer> consumerCaptor = ArgumentCaptor.forClass(Consumer.class);
Person person = Person.builder().withName("Ada").withId(10L).withPhones(singletonList("123123")).build();
personRepository.save(person);
verify(template).find(Mockito.eq(Person.class), Mockito.eq(10L), consumerCaptor.capture());
Consumer consumer = consumerCaptor.getValue();
consumer.accept(Optional.of(Person.builder().build()));
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 DocumentRepositoryExtensionTest method shouldInitiate.
@Test
public void shouldInitiate() {
assertNotNull(repository);
Person person = repository.save(Person.builder().build());
assertEquals("Default", person.getName());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class BucketManagerProducerExtensionTest method shouldUseMock.
@Test
public void shouldUseMock() {
Person person = repository.get("key", Person.class).get();
Person personMock = repositoryMock.get("key", Person.class).get();
assertEquals("Default", person.getName());
assertEquals("keyvalueMock", personMock.getName());
}
Aggregations