ItEr17S12CUAltaTipoParteDeTraballo: Fixed WorkReport tests

This commit is contained in:
Diego Pino Garcia 2009-07-16 13:23:23 +02:00 committed by Javier Moran Rua
parent c907bf24c6
commit 080b2a4592
7 changed files with 173 additions and 39 deletions

View file

@ -33,6 +33,14 @@ public class WorkReport {
this.workReportLines = workReportLines; this.workReportLines = workReportLines;
} }
public Long getId() {
return id;
}
public long getVersion() {
return version;
}
public Date getDate() { public Date getDate() {
return date; return date;
} }
@ -53,7 +61,7 @@ public class WorkReport {
return workReportType; return workReportType;
} }
public void setWorkReportType(WorkReportType workReporType) { public void setWorkReportType(WorkReportType workReportType) {
this.workReportType = workReportType; this.workReportType = workReportType;
} }

View file

@ -36,6 +36,14 @@ public class WorkReportLine {
this.criterions = criterions; this.criterions = criterions;
} }
public Long getId() {
return id;
}
public long getVersion() {
return version;
}
public Integer getNumHours() { public Integer getNumHours() {
return numHours; return numHours;
} }

View file

@ -11,9 +11,9 @@
<property name="name"/> <property name="name"/>
<set name="criterionTypes" cascade="all"> <set name="criterionTypes" table="CRITERION_TYPE_WORK_REPORT_TYPE" inverse="false">
<key column="WORK_REPORT_TYPE_ID"/> <key column="WORK_REPORT_TYPE_ID" not-null="false" />
<one-to-many class="org.navalplanner.business.resources.entities.CriterionType"/> <many-to-many class="org.navalplanner.business.resources.entities.CriterionType" column="CRITERION_TYPE_ID"/>
</set> </set>
</class> </class>
@ -44,12 +44,12 @@
<property name="numHours"/> <property name="numHours"/>
<set name="resources" cascade="all"> <set name="resources">
<key column="WORK_REPORT_LINE_ID"/> <key column="WORK_REPORT_LINE_ID"/>
<one-to-many class="org.navalplanner.business.resources.entities.Resource"/> <one-to-many class="org.navalplanner.business.resources.entities.Resource"/>
</set> </set>
<set name="orderElements" cascade="all"> <set name="orderElements">
<key column="WORK_REPORT_LINE_ID"/> <key column="WORK_REPORT_LINE_ID"/>
<one-to-many class="org.navalplanner.business.orders.entities.OrderElement"/> <one-to-many class="org.navalplanner.business.orders.entities.OrderElement"/>
</set> </set>

View file

@ -0,0 +1,70 @@
package org.navalplanner.business.test.workreports.daos;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import org.navalplanner.business.resources.daos.impl.CriterionTypeDAO;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.workreports.daos.WorkReportTypeDAO;
import org.navalplanner.business.workreports.entities.WorkReport;
import org.navalplanner.business.workreports.entities.WorkReportLine;
import org.navalplanner.business.workreports.entities.WorkReportType;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class AbstractWorkReportTest {
@Autowired
CriterionTypeDAO criterionTypeDAO;
@Autowired
WorkReportTypeDAO workReportTypeDAO;
// Create a Set of CriterionType
public Set<CriterionType> createValidCriterionTypes() {
Set<CriterionType> criterionTypes = new HashSet<CriterionType>();
CriterionType criterionType = new CriterionType(UUID.randomUUID()
.toString());
criterionTypeDAO.save(criterionType);
criterionTypes.add(criterionType);
return criterionTypes;
}
public WorkReportType createValidWorkReportType() {
Set<CriterionType> criterionTypes = createValidCriterionTypes();
return new WorkReportType(UUID.randomUUID().toString(), criterionTypes);
}
public WorkReportLine createValidWorkReportLine() {
WorkReportLine workReportLine = new WorkReportLine();
workReportLine.setNumHours(100);
return workReportLine;
}
public Set<WorkReportLine> createValidWorkReportLines() {
Set<WorkReportLine> workReportLines = new HashSet<WorkReportLine>();
WorkReportLine workReportLine = createValidWorkReportLine();
workReportLines.add(workReportLine);
return workReportLines;
}
public WorkReport createValidWorkReport() {
WorkReport workReport = new WorkReport();
workReport.setDate(new Date());
workReport.setPlace(UUID.randomUUID().toString());
WorkReportType workReportType = createValidWorkReportType();
workReportTypeDAO.save(workReportType);
workReport.setWorkReportType(workReportType);
workReport.setWorkReportLines(new HashSet<WorkReportLine>());
return workReport;
}
}

View file

@ -1,12 +1,19 @@
package org.navalplanner.business.test.workreports.daos; package org.navalplanner.business.test.workreports.daos;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
import java.util.List;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.workreports.daos.IWorkReportDAO; import org.navalplanner.business.workreports.daos.IWorkReportDAO;
import org.navalplanner.business.workreports.entities.WorkReport;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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;
@ -19,23 +26,43 @@ import org.springframework.transaction.annotation.Transactional;
* @author Diego Pino García <dpino@igalia.com> * @author Diego Pino García <dpino@igalia.com>
*/ */
@Transactional @Transactional
public class WorkReportDAOTest { public class WorkReportDAOTest extends AbstractWorkReportTest {
@Autowired @Autowired
private IWorkReportDAO workReportDAO; private IWorkReportDAO workReportDAO;
@Test @Test
public void testSaveWorkReport() { public void testInSpringContainer() {
assertTrue(true); assertNotNull(workReportDAO);
} }
@Test @Test
public void testRemoveWorkReport() { public void testSaveWorkReport() {
assertTrue(true); WorkReport workReport = createValidWorkReport();
workReportDAO.save(workReport);
assertTrue(workReportDAO.exists(workReport.getId()));
}
@Test
public void testRemoveWorkReport() throws InstanceNotFoundException {
WorkReport workReport = createValidWorkReport();
workReportDAO.save(workReport);
workReportDAO.remove(workReport.getId());
assertFalse(workReportDAO.exists(workReport.getId()));
} }
@Test @Test
public void testListWorkReport() { public void testListWorkReport() {
assertTrue(true); int previous = workReportDAO.list(WorkReport.class).size();
WorkReport workReport1 = createValidWorkReport();
workReportDAO.save(workReport1);
WorkReport workReport2 = createValidWorkReport();
workReportDAO.save(workReport1);
workReportDAO.save(workReport2);
List<WorkReport> list = workReportDAO
.list(WorkReport.class);
assertEquals(previous + 2, list.size());
} }
} }

View file

@ -1,12 +1,18 @@
package org.navalplanner.business.test.workreports.daos; package org.navalplanner.business.test.workreports.daos;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
import java.util.List;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.workreports.daos.IWorkReportLineDAO; import org.navalplanner.business.workreports.daos.IWorkReportLineDAO;
import org.navalplanner.business.workreports.entities.WorkReportLine;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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;
@ -19,23 +25,38 @@ import org.springframework.transaction.annotation.Transactional;
* @author Diego Pino García <dpino@igalia.com> * @author Diego Pino García <dpino@igalia.com>
*/ */
@Transactional @Transactional
public class WorkReportLineDAOTest { public class WorkReportLineDAOTest extends AbstractWorkReportTest {
@Autowired @Autowired
private IWorkReportLineDAO workReportLineDAO; private IWorkReportLineDAO workReportLineDAO;
@Test @Test
public void testSaveWorkReportLine() { public void testSaveWorkReportLine() {
assertTrue(true); WorkReportLine workReportLine = createValidWorkReportLine();
workReportLineDAO.save(workReportLine);
assertTrue(workReportLineDAO.exists(workReportLine.getId()));
} }
@Test @Test
public void testRemoveWorkReportLine() { public void testRemoveWorkReportLine() throws InstanceNotFoundException {
assertTrue(true); WorkReportLine workReportLine = createValidWorkReportLine();
workReportLineDAO.save(workReportLine);
workReportLineDAO.remove(workReportLine.getId());
assertFalse(workReportLineDAO.exists(workReportLine.getId()));
} }
@Test @Test
public void testListWorkReportLine() { public void testListWorkReportLine() {
assertTrue(true); int previous = workReportLineDAO.list(WorkReportLine.class).size();
WorkReportLine workReportType1 = createValidWorkReportLine();
workReportLineDAO.save(workReportType1);
WorkReportLine workReportType2 = createValidWorkReportLine();
workReportLineDAO.save(workReportType1);
workReportLineDAO.save(workReportType2);
List<WorkReportLine> list = workReportLineDAO
.list(WorkReportLine.class);
assertEquals(previous + 2, list.size());
} }
} }

View file

@ -1,18 +1,16 @@
package org.navalplanner.business.test.workreports.daos; package org.navalplanner.business.test.workreports.daos;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
import java.util.HashSet; import java.util.List;
import java.util.Set;
import java.util.UUID;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.navalplanner.business.resources.daos.ICriterionTypeDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.test.resources.daos.CriterionTypeDAOTest;
import org.navalplanner.business.workreports.daos.IWorkReportTypeDAO; import org.navalplanner.business.workreports.daos.IWorkReportTypeDAO;
import org.navalplanner.business.workreports.entities.WorkReportType; import org.navalplanner.business.workreports.entities.WorkReportType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -27,36 +25,38 @@ import org.springframework.transaction.annotation.Transactional;
* @author Diego Pino García <dpino@igalia.com> * @author Diego Pino García <dpino@igalia.com>
*/ */
@Transactional @Transactional
public class WorkReportTypeDAOTest { public class WorkReportTypeDAOTest extends AbstractWorkReportTest {
@Autowired @Autowired
private IWorkReportTypeDAO workReportTypeDAO; private IWorkReportTypeDAO workReportTypeDAO;
@Autowired
private ICriterionTypeDAO criterionTypeDAO;
@Test @Test
public void testSaveWorkReportType() { public void testSaveWorkReportType() {
String unique = UUID.randomUUID().toString(); WorkReportType workReportType = createValidWorkReportType();
CriterionType criterionType = CriterionTypeDAOTest
.createValidCriterionType();
criterionTypeDAO.save(criterionType);
Set<CriterionType> criterionTypes = new HashSet<CriterionType>();
criterionTypes.add(criterionType);
WorkReportType workReportType = new WorkReportType(unique,
criterionTypes);
workReportTypeDAO.save(workReportType); workReportTypeDAO.save(workReportType);
assertTrue(workReportTypeDAO.exists(workReportType.getId())); assertTrue(workReportTypeDAO.exists(workReportType.getId()));
} }
@Test @Test
public void testRemoveWorkReportType() { public void testRemoveWorkReportType() throws InstanceNotFoundException {
assertTrue(true); WorkReportType workReportType = createValidWorkReportType();
workReportTypeDAO.save(workReportType);
workReportTypeDAO.remove(workReportType.getId());
assertFalse(workReportTypeDAO.exists(workReportType.getId()));
} }
@Test @Test
public void testListWorkReportType() { public void testListWorkReportType() {
assertTrue(true); int previous = workReportTypeDAO.list(WorkReportType.class).size();
WorkReportType workReportType1 = createValidWorkReportType();
workReportTypeDAO.save(workReportType1);
WorkReportType workReportType2 = createValidWorkReportType();
workReportTypeDAO.save(workReportType1);
workReportTypeDAO.save(workReportType2);
List<WorkReportType> list = workReportTypeDAO
.list(WorkReportType.class);
assertEquals(previous + 2, list.size());
} }
} }