Refactored tests to comply with the API in ApplicationPeriodFacade.
This commit is contained in:
parent
ca851cbbcc
commit
c81b8bf207
@ -66,8 +66,6 @@ public class TestApplicationPeriodDao {
|
||||
|
||||
private Project project;
|
||||
|
||||
private Student student1Author;
|
||||
|
||||
private SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
|
||||
|
||||
private ProjectClass master;
|
||||
@ -78,8 +76,6 @@ public class TestApplicationPeriodDao {
|
||||
|
||||
private ApplicationPeriodDao target;
|
||||
|
||||
|
||||
|
||||
private ProjectIdea createProjectIdea(final ApplicationPeriod applicationPeriod1, final ProjectClass projectClass) {
|
||||
ProjectIdea projectIdea = new ProjectIdea();
|
||||
projectIdea.setProjectClass(projectClass);
|
||||
@ -100,18 +96,18 @@ public class TestApplicationPeriodDao {
|
||||
return projectDao.save(project);
|
||||
}
|
||||
|
||||
|
||||
private Role createRole(final User user) {
|
||||
Role student1Role = new Student();
|
||||
student1Role.setUser(user);
|
||||
return roleDao.save(student1Role);
|
||||
}
|
||||
|
||||
|
||||
@Before
|
||||
public void startTransaction() throws Exception {
|
||||
User student1 = new User();
|
||||
student1 = userDao.save(student1);
|
||||
|
||||
Role student1Role = new Student();
|
||||
student1Role.setUser(student1);
|
||||
student1Role = roleDao.save(student1Role);
|
||||
|
||||
|
||||
Role student1Role = createRole(student1);
|
||||
bachelor = createProjectClass(ProjectClass.BACHELOR, "Bachelor", "Bachelor degree thesis project");
|
||||
master = createProjectClass(ProjectClass.MASTER, "Master", "Master degree thesis project");
|
||||
phd = createProjectClass(ProjectClass.PHD, "PHD", "PHD thesis project");
|
||||
@ -124,7 +120,6 @@ public class TestApplicationPeriodDao {
|
||||
projectIdea1 = createProjectIdea(applicationPeriod1, bachelor);
|
||||
projectIdea2 = createProjectIdea(applicationPeriod1, bachelor);
|
||||
projectIdea3 = createProjectIdea(applicationPeriod1, bachelor);
|
||||
|
||||
projectClassSet.clear();
|
||||
projectClassSet.add(bachelor);
|
||||
applicationPeriod = applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(projectClassSet, date("2011-06-14"), date("2011-07-01")));
|
||||
@ -146,12 +141,8 @@ public class TestApplicationPeriodDao {
|
||||
public void testShouldReturnAllProjectIdeasForApplicationPeriod() {
|
||||
projectIdea1.setDateCreated(date("2011-07-02"));
|
||||
projectIdea2.setDateCreated(date("2011-06-12"));
|
||||
|
||||
List<ProjectIdea> projectIdeas =
|
||||
target.getProjectIdeas(applicationPeriod);
|
||||
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea2 }),
|
||||
projectIdeas);
|
||||
List<ProjectIdea> projectIdeas = target.getProjectIdeas(applicationPeriod);
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea2 }), projectIdeas);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -163,14 +154,9 @@ public class TestApplicationPeriodDao {
|
||||
projectIdea2.setProjectClass(master);
|
||||
projectIdea3.setDateCreated(date("2011-06-12"));
|
||||
projectIdea3.setProjectClass(phd);
|
||||
|
||||
applicationPeriod.getProjectClass().add(phd);
|
||||
|
||||
List<ProjectIdea> projectIdeas =
|
||||
target.getProjectIdeas(applicationPeriod);
|
||||
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea1,
|
||||
projectIdea3 }), projectIdeas);
|
||||
List<ProjectIdea> projectIdeas = target.getProjectIdeas(applicationPeriod);
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea1, projectIdea3 }), projectIdeas);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -180,12 +166,8 @@ public class TestApplicationPeriodDao {
|
||||
projectIdea1.setDateCreated(date("2011-07-01"));
|
||||
projectIdea1.setProject(project);
|
||||
projectIdea2.setDateCreated(date("2011-07-01"));
|
||||
|
||||
List<ProjectIdea> projectIdeas =
|
||||
target.getProjectIdeas(applicationPeriod);
|
||||
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea2 }),
|
||||
projectIdeas);
|
||||
List<ProjectIdea> projectIdeas = target.getProjectIdeas(applicationPeriod);
|
||||
Assert.assertEquals(Arrays.asList(new ProjectIdea[] { projectIdea2 }), projectIdeas);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -193,9 +175,7 @@ public class TestApplicationPeriodDao {
|
||||
@Rollback
|
||||
public void testShouldOnlyReturnCurrentPeriods() {
|
||||
Date currentTime = date("2011-07-20");
|
||||
|
||||
List<ApplicationPeriod> periods = target.getCurrentPeriods(currentTime);
|
||||
|
||||
Assert.assertEquals(Arrays.asList(new ApplicationPeriod[] { applicationPeriod2 }), periods);
|
||||
}
|
||||
|
||||
@ -222,7 +202,7 @@ public class TestApplicationPeriodDao {
|
||||
cal.set(2011, Calendar.DECEMBER, 7);
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13);
|
||||
final Date endDate1 = cal.getTime();
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
boolean periodRemoved = applicationPeriodFacade.removeApplicationPeriod(applicationPeriod);
|
||||
Assert.assertFalse(periodRemoved); // should be false
|
||||
}
|
||||
@ -240,13 +220,13 @@ public class TestApplicationPeriodDao {
|
||||
cal.set(2051, Calendar.DECEMBER, 7);
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13);
|
||||
final Date endDate1 = cal.getTime();
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
boolean periodRemoved = applicationPeriodFacade.removeApplicationPeriod(applicationPeriod);
|
||||
Assert.assertTrue(periodRemoved); // should be true
|
||||
}
|
||||
|
||||
|
||||
/* 1. create an application period from TODAY and one month forward, the PROJECT CLASSES are THE SAME in this case
|
||||
/* 1. create an application period from TODAY and one month forward, the PROJECT CLASSES are THE SAME in this case
|
||||
2. test if there exists any OPEN application period for the project class in the argument */
|
||||
@Test
|
||||
@Transactional
|
||||
@ -258,7 +238,7 @@ public class TestApplicationPeriodDao {
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
boolean exists = applicationPeriodFacade.openApplicationPeriodsExists(bachelor);
|
||||
Assert.assertTrue(exists); // should exist
|
||||
}
|
||||
@ -325,12 +305,12 @@ should NOT overlap. */
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13); // HOUR_OF_DAY is used for the 24 hour clock
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
cal.set(Calendar.HOUR_OF_DAY, 14);
|
||||
final Date startDate2 = cal.getTime();
|
||||
cal.set(2012, Calendar.MAY, 2);
|
||||
final Date endDate2 = cal.getTime();
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(createApplicationPeriod(myBachelorSet, startDate2, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate2, endDate2)));
|
||||
Assert.assertFalse(periodOverlap); // should NOT overlap
|
||||
}
|
||||
|
||||
@ -394,12 +374,12 @@ should NOT overlap. */
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.set(2012, Calendar.DECEMBER, 2);
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1));
|
||||
cal.set(2012, Calendar.MAY, 2);
|
||||
final Date startDate2 = cal.getTime();
|
||||
cal.set(2012, Calendar.JUNE, 2);
|
||||
final Date endDate2 = cal.getTime();
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(createApplicationPeriod(myBachelorSet, startDate2, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate2, endDate2)));
|
||||
Assert.assertTrue(periodOverlap); // should overlap
|
||||
}
|
||||
|
||||
@ -417,8 +397,8 @@ should NOT overlap. */
|
||||
final Date endDate = cal.getTime();
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13);
|
||||
final Date endDate2 = cal.getTime();
|
||||
applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate, endDate));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(createApplicationPeriod(myBachelorSet, startDate, endDate2));
|
||||
applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate2)));
|
||||
Assert.assertTrue(periodOverlap); // should overlap
|
||||
}
|
||||
|
||||
@ -434,23 +414,16 @@ should NOT overlap. */
|
||||
final Date startDate = cal.getTime();
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
final Date endDate = cal.getTime();
|
||||
applicationPeriodDao.save(createApplicationPeriod(myBachelorSet, startDate, endDate));
|
||||
applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate));
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13);
|
||||
final Date endDate2 = cal.getTime();
|
||||
Set<ProjectClass> multipleProjectClasses = new HashSet<ProjectClass>();
|
||||
multipleProjectClasses.add(bachelor);
|
||||
multipleProjectClasses.add(master);
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(createApplicationPeriod(multipleProjectClasses, startDate, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodDao.save(ApplicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate2)));
|
||||
Assert.assertTrue(periodOverlap); // should overlap
|
||||
}
|
||||
|
||||
private ApplicationPeriod createApplicationPeriod(final Set<ProjectClass> projectClassSet, final Date startDate, final Date endDate) {
|
||||
ApplicationPeriod appPeriod = new ApplicationPeriod();
|
||||
appPeriod.setStartDate(startDate);
|
||||
appPeriod.setEndDate(endDate);
|
||||
appPeriod.setProjectClass(projectClassSet);
|
||||
return appPeriod;
|
||||
}
|
||||
|
||||
Date createStartDate_1() {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
Loading…
x
Reference in New Issue
Block a user