Added a first test for the statistics panel.

This commit is contained in:
Tom Vahlman 2012-04-02 11:33:44 +02:00
parent bf2ae4713a
commit 5d95b54be6
4 changed files with 118 additions and 21 deletions
pom.xml
src
main/java/se/su/dsv/scipro/springdata
test/java/se/su/dsv/scipro/springdata

@ -24,11 +24,6 @@
<name>Spring Maven MILESTONE Repository</name> <name>Spring Maven MILESTONE Repository</name>
<url>http://repo.springsource.org/libs-milestone</url> <url>http://repo.springsource.org/libs-milestone</url>
</repository> </repository>
<repository>
<id>spring-roo-repository</id>
<name>Spring Roo Repository</name>
<url>http://spring-roo-repository.springsource.org/release</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
<!-- WICKET DEPENDENCIES --> <!-- WICKET DEPENDENCIES -->

@ -27,8 +27,8 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
} }
@Override @Override
public List<Employee> findAllEmployees() { public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders) {
return supervisorRepo.findAll(); return supervisorRepo.findAll(orders);
} }
} }

@ -8,5 +8,5 @@ import java.util.List;
* date: 2012 03 26 * date: 2012 03 26
*/ */
public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> { public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> {
public List<Employee> findAllEmployees(); public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders);
} }

@ -5,15 +5,19 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.test.annotation.Rollback; import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dao.interfaces.UserDao; import se.su.dsv.scipro.data.dao.interfaces.UserDao;
import se.su.dsv.scipro.data.dao.interfaces.UsernameDao;
import se.su.dsv.scipro.data.dataobjects.Employee; import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.data.dataobjects.User; import se.su.dsv.scipro.data.dataobjects.User;
import se.su.dsv.scipro.data.dataobjects.Username; import se.su.dsv.scipro.match.Weights;
import se.su.dsv.scipro.match.dao.interfaces.KeywordDao;
import se.su.dsv.scipro.match.dao.interfaces.KeywordTypeDao;
import se.su.dsv.scipro.match.dataobject.Keyword;
import se.su.dsv.scipro.match.dataobject.KeywordType;
import se.su.dsv.scipro.springdata.services.SupervisorService; import se.su.dsv.scipro.springdata.services.SupervisorService;
import java.util.ArrayList; import java.util.ArrayList;
@ -24,6 +28,7 @@ import static org.junit.Assert.*;
@ContextConfiguration(inheritLocations = false, locations = { @ContextConfiguration(inheritLocations = false, locations = {
"classpath:test-applicationContext.xml" "classpath:test-applicationContext.xml"
}) })
public class TestSupervisor { public class TestSupervisor {
@Autowired @Autowired
@ -32,11 +37,57 @@ public class TestSupervisor {
@Autowired @Autowired
private UserDao userDao; private UserDao userDao;
@Autowired
private KeywordDao keywordDao;
@Autowired
private KeywordTypeDao keywordTypeDao;
private KeywordType keywordTypeArea;
private KeywordType keywordTypeWord;
private Weights weights;
@SuppressWarnings("EmptyMethod") @SuppressWarnings("EmptyMethod")
@Before @Before
public void startTransaction() throws Exception { public void startTransaction() throws Exception {
keywordTypeArea = keywordTypeDao.save(new KeywordType("Area"));
keywordTypeWord = keywordTypeDao.save(new KeywordType("Word"));
weights = createWeights();
} }
private Weights createWeights() {
Weights weights = new Weights();
weights.setKeywordPoints(3); // "Word" + "Unit"??
weights.setResearchAreaPoints(5); // "Area"
weights.setPreferredSupervisorPoints(10);
return weights;
}
private Employee getEmployee(final String firstName, final String lastName, final String email) {
User user = new User();
user.setFirstName(firstName);
user.setLastName(lastName);
user.setEmailAddress(email);
user = userDao.save(user);
assertNotNull(user);
Employee employee = new Employee();
employee.setUser(user);
return supervisorService.save(employee);
}
private Keyword createKeyword(final KeywordType keyWordType , final String keyWordName, final boolean deleted) {
Keyword keyword = keywordDao.getKeywordByNameAndType(keyWordName, keyWordType);
if(keyword == null) {
keyword = new Keyword();
keyword.setType(keyWordType);
keyword.setKeyword(keyWordName);
keyword.setDeleted(deleted);
return keywordDao.save(keyword);
} else {
return keyword;
}
}
/** /**
* Test for implementing a supervisorService with Spring Data * Test for implementing a supervisorService with Spring Data
@ -44,18 +95,69 @@ public class TestSupervisor {
@Test @Test
@Transactional @Transactional
@Rollback @Rollback
public void findAllSupervisorsWithSpringData() { public void findSupervisorLastName() {
List<Employee> employeeList = new ArrayList<Employee>(); List<Employee> employeeList = new ArrayList<Employee>();
User davidH = new User(); Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
davidH.setFirstName("David"); Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
davidH.setLastName("Hallberg"); Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
davidH.setEmailAddress("dhallb@dsv.su.se"); Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
davidH = userDao.save(davidH); Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Sort sortOrder = new Sort("user.lastName");
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
assertFalse(employeeList.isEmpty());
assertTrue(employeeList.get(0).equals(friis));
assertTrue(employeeList.get(5).equals(tholerus));
}
Employee supervisor = new Employee(); /**
supervisor.setUser(davidH); * Test for implementing a supervisorService with Spring Data
supervisorService.save(supervisor); */
// employeeList.addAll(supervisorService.findAllEmployees()); @Test
// assertTrue(employeeList.size() == 1); @Transactional
@Rollback
public void findSupervisorFirstName() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Sort sortOrder = new Sort("user.firstName");
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
assertFalse(employeeList.isEmpty());
assertTrue(employeeList.get(0).equals(hallberg));
assertTrue(employeeList.get(5).equals(tholerus));
}
/**
* Test for implementing a supervisorService with Spring Data
*/
@Test
@Transactional
@Rollback
public void findSupervisorKeywords() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false);
herder.getKeywords().getAll().add(keyword);
keyword = createKeyword(keywordTypeWord, "Maven", false);
herder.getKeywords().getAll().add(keyword);
herder = supervisorService.save(herder);
/* Sort sortOrder = new Sort("keywords.getAll().size");
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
assertFalse(employeeList.isEmpty());
assertTrue(employeeList.get(0).equals(herder));*/
//assertTrue(employeeList.get(5).equals(tholerus));
} }
} }