added unit test for project dao to make sure params to check between two start dates works fine

This commit is contained in:
Emil Siverhall 2012-02-21 16:00:52 +01:00
parent 84732a41c0
commit aeb0b84bf3

@ -1,9 +1,13 @@
package se.su.dsv.scipro.dao.jpa;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import junit.framework.Assert;
@ -17,6 +21,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
import edu.emory.mathcs.backport.java.util.Arrays;
import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
import se.su.dsv.scipro.data.dao.interfaces.ProjectFollowerDao;
@ -31,6 +37,7 @@ import se.su.dsv.scipro.data.dataobjects.Student;
import se.su.dsv.scipro.data.dataobjects.User;
import se.su.dsv.scipro.data.enums.ProjectStatus;
import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
import se.su.dsv.scipro.match.dataobject.ProjectIdea;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@ -71,6 +78,13 @@ public class TestProjectDaoJPA {
private User unrelatedUser;
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
private Date date10Jan2012;
private Date date1Jan2012;
private Date date1Dec2011;
private Date date15Dec2011;
@Before
public void startTransaction(){
@ -473,4 +487,27 @@ public class TestProjectDaoJPA {
Assert.assertFalse(members.hasNext());
}
@Test
@Rollback
@Transactional
public void testShouldFindProjectsBasedOnStartDate() {
try {
date10Jan2012 = date.parse("2012-01-10");
date1Jan2012 = date.parse("2012-01-01");
date15Dec2011 = date.parse("2011-12-15");
date1Dec2011 = date.parse("2011-12-01");
} catch (ParseException e) {
e.printStackTrace();
}
ProjectDao.Params params = new ProjectDao.Params();
params.setStartedAfter(date15Dec2011);
params.setStartedBefore(date10Jan2012);
activeProject.setDaisyStartDate(date1Jan2012);
completedProject.setDaisyStartDate(date1Dec2011);
List<Project> projects = projectDao.findProjects(params);
Assert.assertEquals(Arrays.asList(new Project[] { activeProject }), projects);
}
}