Skip to content

Commit

Permalink
feat: update keyvalue structure
Browse files Browse the repository at this point in the history
Signed-off-by: Otavio Santana <otaviopolianasantana@gmail.com>
  • Loading branch information
otaviojava committed Apr 9, 2024
1 parent 889fe4c commit 6053953
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ void shouldReturnHasCode() {
void shouldReturnUnsupportedOperationException() {
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.findAll());
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.countBy());
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.findAll(null));
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.findAll(null, null));
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.deleteAll());
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.countByName("name"));
Assertions.assertThrows(UnsupportedOperationException.class, () -> userRepository.find("name"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public void shouldFindByNameInstance() {
.of(Person.builder().build()));

PageRequest pageRequest = getPageRequest();
personRepository.findByName("name", pageRequest);
personRepository.findByName("name", pageRequest, Order.by());

ArgumentCaptor<SelectQuery> captor = ArgumentCaptor.forClass(SelectQuery.class);
verify(template).singleResult(captor.capture());
Expand All @@ -132,11 +132,11 @@ public void shouldFindByNameInstance() {

assertEquals(Element.of("name", "name"), condition.element());

assertNotNull(personRepository.findByName("name", pageRequest));
assertNotNull(personRepository.findByName("name", pageRequest, Order.by()));
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.empty());

assertNull(personRepository.findByName("name", pageRequest));
assertNull(personRepository.findByName("name", pageRequest, Order.by()));


}
Expand Down Expand Up @@ -465,8 +465,10 @@ public void shouldFindByNameOrderName() {
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.of(Person.builder().build()));

PageRequest pageRequest = getPageRequest().sortBy(Sort.asc("name"));
personRepository.findByName("name", pageRequest);
PageRequest pageRequest = getPageRequest();
Sort<Person> name = Sort.asc("name");
Order<Person> order = Order.by(name);
personRepository.findByName("name", pageRequest, order);

ArgumentCaptor<SelectQuery> captor = ArgumentCaptor.forClass(SelectQuery.class);
verify(template).singleResult(captor.capture());
Expand All @@ -477,14 +479,14 @@ public void shouldFindByNameOrderName() {
assertEquals(NoSQLPage.skip(pageRequest), query.limit());
assertEquals(pageRequest.size(), query.limit());
assertThat(query.sorts()).hasSize(1)
.contains(Sort.asc("name"));
.contains(name);

assertEquals(Element.of("name", "name"), condition.element());

assertNotNull(personRepository.findByName("name", pageRequest));
assertNotNull(personRepository.findByName("name", pageRequest, order));
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.empty());
assertNull(personRepository.findByName("name", pageRequest));
assertNull(personRepository.findByName("name", pageRequest, order));
}

@Test
Expand All @@ -493,8 +495,10 @@ public void shouldFindByNameOrderName2() {
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.of(Person.builder().build()));

PageRequest pageRequest = getPageRequest().sortBy(Sort.asc("name"));
Page<Person> page = personRepository.findByNameOrderByAge("name", pageRequest);
Sort<Person> name = Sort.asc("name");
Order<Person> nameOrder = Order.by(name);
PageRequest pageRequest = getPageRequest();
Page<Person> page = personRepository.findByNameOrderByAge("name", pageRequest, nameOrder);

Assertions.assertNotNull(page);

Expand All @@ -507,22 +511,22 @@ public void shouldFindByNameOrderName2() {
assertEquals(NoSQLPage.skip(pageRequest), query.limit());
assertEquals(pageRequest.size(), query.limit());
assertThat(query.sorts()).hasSize(2)
.containsExactly(Sort.asc("age"), Sort.asc("name"));
.containsExactly(Sort.asc("age"), name);

assertEquals(Element.of("name", "name"), condition.element());

assertNotNull(personRepository.findByName("name", pageRequest));
assertNotNull(personRepository.findByName("name", pageRequest, nameOrder));
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.empty());
assertNull(personRepository.findByName("name", pageRequest));
assertNull(personRepository.findByName("name", pageRequest, nameOrder));
}

@Test
public void shouldFindByNameSort() {
when(template.singleResult(any(SelectQuery.class))).thenReturn(Optional
.of(Person.builder().build()));

PageRequest pageRequest = getPageRequest().sortBy(Sort.desc("age"));
PageRequest pageRequest = getPageRequest();
personRepository.findByName("name", Sort.asc("name"), pageRequest);

ArgumentCaptor<SelectQuery> captor = ArgumentCaptor.forClass(SelectQuery.class);
Expand All @@ -531,8 +535,8 @@ public void shouldFindByNameSort() {
CriteriaCondition condition = query.condition().get();
assertEquals("Person", query.name());
assertEquals(EQUALS, condition.condition());
assertThat(query.sorts()).hasSize(2)
.containsExactly(Sort.asc("name"), Sort.desc("age"));
assertThat(query.sorts()).hasSize(1)
.containsExactly(Sort.asc("name"));
assertEquals(Element.of("name", "name"), condition.element());
}

Expand Down Expand Up @@ -614,7 +618,8 @@ public void shouldFindByNameLimit3() {
@Test
public void shouldFindByNameOrderByName() {
CursoredPage<Person> mock = Mockito.mock(CursoredPage.class);
when(template.selectCursor(any(SelectQuery.class),

when(template.<Person>selectCursor(any(SelectQuery.class),
any(PageRequest.class))).thenReturn(mock);

CursoredPage<Person> page = personRepository.findByNameOrderByName("name",
Expand Down Expand Up @@ -655,7 +660,7 @@ public void shouldMachParameter() {
@Test
public void shouldParameterMatch() {
CursoredPage<Person> mock = Mockito.mock(CursoredPage.class);
when(template.selectCursor(any(SelectQuery.class),
when(template.<Person>selectCursor(any(SelectQuery.class),
any(PageRequest.class))).thenReturn(mock);

CursoredPage<Person> page = personRepository.findPageParameter("name",
Expand Down Expand Up @@ -688,7 +693,7 @@ private PageRequest getPageRequest() {

interface PersonRepository extends BasicRepository<Person, Long> {

Person findByName(String name, PageRequest pageRequest);
Person findByName(String name, PageRequest pageRequest, Order<Person> order);

@Find
List<Person> parameter(@By("name") String name, @By("age") Integer age);
Expand All @@ -704,7 +709,7 @@ interface PersonRepository extends BasicRepository<Person, Long> {

List<Person> findByName(String name, Sort<Person> sort, PageRequest pageRequest);

Page<Person> findByNameOrderByAge(String name, PageRequest pageRequest);
Page<Person> findByNameOrderByAge(String name, PageRequest pageRequest, Order<Person> order);

Page<Person> findByAge(String age, PageRequest pageRequest);

Expand Down

0 comments on commit 6053953

Please sign in to comment.