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>
<url>http://repo.springsource.org/libs-milestone</url>
</repository>
<repository>
<id>spring-roo-repository</id>
<name>Spring Roo Repository</name>
<url>http://spring-roo-repository.springsource.org/release</url>
</repository>
</repositories>
<dependencies>
<!-- WICKET DEPENDENCIES -->

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

@ -8,5 +8,5 @@ import java.util.List;
* date: 2012 03 26
*/
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.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
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.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 java.util.ArrayList;
@ -24,6 +28,7 @@ import static org.junit.Assert.*;
@ContextConfiguration(inheritLocations = false, locations = {
"classpath:test-applicationContext.xml"
})
public class TestSupervisor {
@Autowired
@ -32,11 +37,57 @@ public class TestSupervisor {
@Autowired
private UserDao userDao;
@Autowired
private KeywordDao keywordDao;
@Autowired
private KeywordTypeDao keywordTypeDao;
private KeywordType keywordTypeArea;
private KeywordType keywordTypeWord;
private Weights weights;
@SuppressWarnings("EmptyMethod")
@Before
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
@ -44,18 +95,69 @@ public class TestSupervisor {
@Test
@Transactional
@Rollback
public void findAllSupervisorsWithSpringData() {
public void findSupervisorLastName() {
List<Employee> employeeList = new ArrayList<Employee>();
User davidH = new User();
davidH.setFirstName("David");
davidH.setLastName("Hallberg");
davidH.setEmailAddress("dhallb@dsv.su.se");
davidH = userDao.save(davidH);
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.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);
supervisorService.save(supervisor);
// employeeList.addAll(supervisorService.findAllEmployees());
// assertTrue(employeeList.size() == 1);
/**
* Test for implementing a supervisorService with Spring Data
*/
@Test
@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));
}
}