use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryProxyTest method shouldFindByNameLike.
@Test
public void shouldFindByNameLike() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(DocumentQuery.class))).thenReturn(singletonList(ada));
personRepository.findByNameLike("Ada");
ArgumentCaptor<DocumentQuery> captor = ArgumentCaptor.forClass(DocumentQuery.class);
verify(template).select(captor.capture());
DocumentQuery query = captor.getValue();
DocumentCondition condition = query.getCondition().get();
assertEquals("Person", query.getDocumentCollection());
assertEquals(LIKE, condition.getCondition());
assertEquals(Document.of("name", "Ada"), condition.getDocument());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryProxyTest method shouldFindByNameAndAgeGreaterEqualThan.
@Test
public void shouldFindByNameAndAgeGreaterEqualThan() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(DocumentQuery.class))).thenReturn(singletonList(ada));
personRepository.findByNameAndAgeGreaterThanEqual("Ada", 33);
ArgumentCaptor<DocumentQuery> captor = ArgumentCaptor.forClass(DocumentQuery.class);
verify(template).select(captor.capture());
DocumentQuery query = captor.getValue();
DocumentCondition condition = query.getCondition().get();
assertEquals("Person", query.getDocumentCollection());
assertEquals(AND, condition.getCondition());
List<DocumentCondition> conditions = condition.getDocument().get(new TypeReference<List<DocumentCondition>>() {
});
assertThat(conditions, containsInAnyOrder(eq(Document.of("name", "Ada")), gte(Document.of("age", 33))));
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DocumentRepositoryProxyTest method shouldFindByAgeLessThanEqual.
@Test
public void shouldFindByAgeLessThanEqual() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(DocumentQuery.class))).thenReturn(singletonList(ada));
personRepository.findByAgeLessThanEqual(33);
ArgumentCaptor<DocumentQuery> captor = ArgumentCaptor.forClass(DocumentQuery.class);
verify(template).select(captor.capture());
DocumentQuery query = captor.getValue();
DocumentCondition condition = query.getCondition().get();
assertEquals("Person", query.getDocumentCollection());
assertEquals(LESSER_EQUALS_THAN, condition.getCondition());
assertEquals(Document.of("age", 33), condition.getDocument());
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class MockProducer method getBucketManager.
@Produces
public BucketManager getBucketManager() {
BucketManager bucketManager = Mockito.mock(BucketManager.class);
Person person = Person.builder().withName("Default").build();
when(bucketManager.get("key")).thenReturn(Optional.ofNullable(Value.of(person)));
when(bucketManager.get("user")).thenReturn(Optional.of(Value.of(new User("Default", "Default", 10))));
return bucketManager;
}
use of org.jnosql.artemis.model.Person in project jnosql-artemis by eclipse.
the class DefaultDocumentTemplateAsyncTest method shouldSelect.
@Test
public void shouldSelect() {
ArgumentCaptor<Consumer<List<DocumentEntity>>> dianaCallbackCaptor = ArgumentCaptor.forClass(Consumer.class);
DocumentQuery query = select().from("Person").build();
AtomicBoolean condition = new AtomicBoolean(false);
Consumer<List<Person>> callback = l -> {
condition.set(true);
};
subject.select(query, callback);
verify(managerMock).select(Mockito.any(DocumentQuery.class), dianaCallbackCaptor.capture());
Consumer<List<DocumentEntity>> dianaCallBack = dianaCallbackCaptor.getValue();
dianaCallBack.accept(singletonList(DocumentEntity.of("Person", asList(documents))));
verify(managerMock).select(Mockito.eq(query), Mockito.any());
await().untilTrue(condition);
}
Aggregations