Fix jpa criteria and specification test
This commit is contained in:
+16
-16
@@ -2,13 +2,13 @@ package org.baeldung.persistence.query;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.baeldung.persistence.model.User;
|
||||
import org.baeldung.persistence.service.impl.UserService;
|
||||
import org.baeldung.spring.PersistenceConfig;
|
||||
import org.baeldung.web.util.SearchCriteria;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -51,9 +51,9 @@ public class JPACriteriaQueryTest {
|
||||
|
||||
@Test
|
||||
public void givenFirstAndLastName_whenGettingListOfUsers_thenCorrect() {
|
||||
final Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("firstName", "John");
|
||||
params.put("lastName", "Doe");
|
||||
final List<SearchCriteria> params = new ArrayList<SearchCriteria>();
|
||||
params.add(new SearchCriteria("firstName", ":", "John"));
|
||||
params.add(new SearchCriteria("lastName", ":", "Doe"));
|
||||
|
||||
final List<User> result = userService.searchUser(params);
|
||||
|
||||
@@ -63,8 +63,8 @@ public class JPACriteriaQueryTest {
|
||||
|
||||
@Test
|
||||
public void givenLast_whenGettingListOfUsers_thenCorrect() {
|
||||
final Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("lastName", "doe");
|
||||
final List<SearchCriteria> params = new ArrayList<SearchCriteria>();
|
||||
params.add(new SearchCriteria("lastName", ":", "Doe"));
|
||||
|
||||
final List<User> result = userService.searchUser(params);
|
||||
assertEquals(2, result.size());
|
||||
@@ -72,9 +72,9 @@ public class JPACriteriaQueryTest {
|
||||
|
||||
@Test
|
||||
public void givenLastAndAge_whenGettingListOfUsers_thenCorrect() {
|
||||
final Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("lastName", "doe");
|
||||
params.put("age", "25");
|
||||
final List<SearchCriteria> params = new ArrayList<SearchCriteria>();
|
||||
params.add(new SearchCriteria("lastName", ":", "Doe"));
|
||||
params.add(new SearchCriteria("age", ">", "25"));
|
||||
|
||||
final List<User> result = userService.searchUser(params);
|
||||
|
||||
@@ -84,9 +84,9 @@ public class JPACriteriaQueryTest {
|
||||
|
||||
@Test
|
||||
public void givenWrongFirstAndLast_whenGettingListOfUsers_thenCorrect() {
|
||||
final Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("firstName", "Adam");
|
||||
params.put("lastName", "Fox");
|
||||
final List<SearchCriteria> params = new ArrayList<SearchCriteria>();
|
||||
params.add(new SearchCriteria("firstName", ":", "Adam"));
|
||||
params.add(new SearchCriteria("lastName", ":", "Fox"));
|
||||
|
||||
final List<User> result = userService.searchUser(params);
|
||||
assertEquals(0, result.size());
|
||||
@@ -94,12 +94,12 @@ public class JPACriteriaQueryTest {
|
||||
|
||||
@Test
|
||||
public void givenPartialFirst_whenGettingListOfUsers_thenCorrect() {
|
||||
final Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("firstName", "jo");
|
||||
final List<SearchCriteria> params = new ArrayList<SearchCriteria>();
|
||||
params.add(new SearchCriteria("firstName", ":", "jo"));
|
||||
|
||||
final List<User> result = userService.searchUser(params);
|
||||
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(userJohn.getEmail(), result.get(0).getEmail());
|
||||
}
|
||||
}
|
||||
}
|
||||
+18
-9
@@ -1,15 +1,14 @@
|
||||
package org.baeldung.persistence.query;
|
||||
|
||||
import static org.baeldung.persistence.dao.UserSpecifications.ageIsGreaterThan;
|
||||
import static org.baeldung.persistence.dao.UserSpecifications.firstNameIsLike;
|
||||
import static org.baeldung.persistence.dao.UserSpecifications.lastNameIsLike;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.baeldung.persistence.dao.UserRepository;
|
||||
import org.baeldung.persistence.dao.UserSpecification;
|
||||
import org.baeldung.persistence.model.User;
|
||||
import org.baeldung.spring.PersistenceConfig;
|
||||
import org.baeldung.web.util.SearchCriteria;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -53,13 +52,17 @@ public class JPASpecificationsTest {
|
||||
|
||||
@Test
|
||||
public void givenLast_whenGettingListOfUsers_thenCorrect() {
|
||||
final List<User> result = repository.findAll(lastNameIsLike("doe"));
|
||||
final UserSpecification spec = new UserSpecification(new SearchCriteria("lastName", ":", "doe"));
|
||||
final List<User> result = repository.findAll(spec);
|
||||
|
||||
assertEquals(2, result.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenFirstAndLastName_whenGettingListOfUsers_thenCorrect() {
|
||||
final List<User> result = repository.findAll(Specifications.where(lastNameIsLike("doe")).and(firstNameIsLike("john")));
|
||||
final UserSpecification spec = new UserSpecification(new SearchCriteria("firstName", ":", "john"));
|
||||
final UserSpecification spec1 = new UserSpecification(new SearchCriteria("lastName", ":", "doe"));
|
||||
final List<User> result = repository.findAll(Specifications.where(spec).and(spec1));
|
||||
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(userJohn.getEmail(), result.get(0).getEmail());
|
||||
@@ -67,7 +70,9 @@ public class JPASpecificationsTest {
|
||||
|
||||
@Test
|
||||
public void givenLastAndAge_whenGettingListOfUsers_thenCorrect() {
|
||||
final List<User> result = repository.findAll(Specifications.where(lastNameIsLike("doe")).and(ageIsGreaterThan(25)));
|
||||
final UserSpecification spec = new UserSpecification(new SearchCriteria("age", ">", "25"));
|
||||
final UserSpecification spec1 = new UserSpecification(new SearchCriteria("lastName", ":", "doe"));
|
||||
final List<User> result = repository.findAll(Specifications.where(spec).and(spec1));
|
||||
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(userTom.getEmail(), result.get(0).getEmail());
|
||||
@@ -75,15 +80,19 @@ public class JPASpecificationsTest {
|
||||
|
||||
@Test
|
||||
public void givenWrongFirstAndLast_whenGettingListOfUsers_thenCorrect() {
|
||||
final List<User> result = repository.findAll(Specifications.where(lastNameIsLike("Adam")).and(firstNameIsLike("Fox")));
|
||||
final UserSpecification spec = new UserSpecification(new SearchCriteria("firstName", ":", "Adam"));
|
||||
final UserSpecification spec1 = new UserSpecification(new SearchCriteria("lastName", ":", "Fox"));
|
||||
final List<User> result = repository.findAll(Specifications.where(spec).and(spec1));
|
||||
|
||||
assertEquals(0, result.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenPartialFirst_whenGettingListOfUsers_thenCorrect() {
|
||||
final List<User> result = repository.findAll(firstNameIsLike("jo"));
|
||||
final UserSpecification spec = new UserSpecification(new SearchCriteria("firstName", ":", "jo"));
|
||||
final List<User> result = repository.findAll(spec);
|
||||
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(userJohn.getEmail(), result.get(0).getEmail());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user