1   package org.itracker.persistence.dao;
2   
3   import java.text.SimpleDateFormat;
4   import java.util.Date;
5   import java.util.List;
6   
7   import org.itracker.AbstractDependencyInjectionTest;
8   import org.itracker.model.Project;
9   import org.itracker.model.Status;
10  import org.junit.Ignore;
11  import org.junit.Test;
12  
13  public class ProjectDAOImplTest extends AbstractDependencyInjectionTest {
14  
15      private ProjectDAO projectDAO;
16  
17      @Test
18      public void testCreateProject() {
19  
20          Project foundProject = projectDAO.findByPrimaryKey(2);
21  
22          assertNotNull( foundProject );
23          assertEquals( "test_name", foundProject.getName() );
24          assertEquals( "test_description", foundProject.getDescription() );
25          assertEquals( Status.ACTIVE, foundProject.getStatus() );
26      }
27  
28      @Test
29      public void testFindByStatus() {
30          List<Project> projects = projectDAO.findByStatus(1);
31  
32          assertNotNull(projects);
33          assertEquals(2, projects.size());
34      }
35  
36      @Test
37      public void testFindAllAvailable() {
38      	List<Project> projects = projectDAO.findAllAvailable();
39      	
40      	assertNotNull(projects);
41      	assertEquals(2, projects.size());
42      }
43      
44      @Test
45      @Ignore
46      //TODO: Activate skipped, ignored Test (when implementation is done correctly)
47      public void testGetLastIssueUpdateDate() {
48          Date date = projectDAO.getLastIssueUpdateDate(2);
49          SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
50          // FIXME: there are 4 issues connected with project 2, why we got null here?
51          assertNotNull( "projectDAO.getLastIssueUpdateDate(2).date", date );
52          assertEquals("projectDAO.getLastIssueUpdateDate(2). date", "2008-01-01", df.format(date));
53      }
54  
55      @Override
56      public void onSetUp() throws Exception {
57          super.onSetUp();
58  
59          projectDAO = (ProjectDAO)applicationContext.getBean( "projectDAO" );
60      }
61  
62      protected String[] getDataSetFiles() {
63          return new String[] {
64                  "dataset/projectbean_dataset.xml"
65          };
66      }
67  
68      protected String[] getConfigLocations() {
69          return new String[] { "application-context.xml" };
70      }
71  
72  }