From 080b2a45922168c609778e841d6a00ab6fca6497 Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Thu, 16 Jul 2009 13:23:23 +0200 Subject: [PATCH] ItEr17S12CUAltaTipoParteDeTraballo: Fixed WorkReport tests --- .../workreports/entities/WorkReport.java | 10 ++- .../workreports/entities/WorkReportLine.java | 8 +++ .../workreports/entities/WorkReports.hbm.xml | 10 +-- .../daos/AbstractWorkReportTest.java | 70 +++++++++++++++++++ .../workreports/daos/WorkReportDAOTest.java | 39 +++++++++-- .../daos/WorkReportLineDAOTest.java | 31 ++++++-- .../daos/WorkReportTypeDAOTest.java | 44 ++++++------ 7 files changed, 173 insertions(+), 39 deletions(-) create mode 100644 navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java index fb1403835..28a29c57b 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java @@ -33,6 +33,14 @@ public class WorkReport { this.workReportLines = workReportLines; } + public Long getId() { + return id; + } + + public long getVersion() { + return version; + } + public Date getDate() { return date; } @@ -53,7 +61,7 @@ public class WorkReport { return workReportType; } - public void setWorkReportType(WorkReportType workReporType) { + public void setWorkReportType(WorkReportType workReportType) { this.workReportType = workReportType; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java index b034ce4c3..e7d2020f2 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java @@ -36,6 +36,14 @@ public class WorkReportLine { this.criterions = criterions; } + public Long getId() { + return id; + } + + public long getVersion() { + return version; + } + public Integer getNumHours() { return numHours; } diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml index 10e969384..e72331cbe 100644 --- a/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml @@ -11,9 +11,9 @@ - - - + + + @@ -44,12 +44,12 @@ - + - + diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java new file mode 100644 index 000000000..053069a16 --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java @@ -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 createValidCriterionTypes() { + Set criterionTypes = new HashSet(); + + CriterionType criterionType = new CriterionType(UUID.randomUUID() + .toString()); + criterionTypeDAO.save(criterionType); + criterionTypes.add(criterionType); + + return criterionTypes; + } + + public WorkReportType createValidWorkReportType() { + Set criterionTypes = createValidCriterionTypes(); + return new WorkReportType(UUID.randomUUID().toString(), criterionTypes); + } + + public WorkReportLine createValidWorkReportLine() { + WorkReportLine workReportLine = new WorkReportLine(); + workReportLine.setNumHours(100); + return workReportLine; + } + + public Set createValidWorkReportLines() { + Set workReportLines = new HashSet(); + + 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()); + + return workReport; + } +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java index 6113ccc3a..4fda477f4 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java @@ -1,12 +1,19 @@ 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 org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; +import java.util.List; + import org.junit.Test; import org.junit.runner.RunWith; +import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.workreports.daos.IWorkReportDAO; +import org.navalplanner.business.workreports.entities.WorkReport; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -19,23 +26,43 @@ import org.springframework.transaction.annotation.Transactional; * @author Diego Pino García */ @Transactional -public class WorkReportDAOTest { +public class WorkReportDAOTest extends AbstractWorkReportTest { @Autowired private IWorkReportDAO workReportDAO; @Test - public void testSaveWorkReport() { - assertTrue(true); + public void testInSpringContainer() { + assertNotNull(workReportDAO); } @Test - public void testRemoveWorkReport() { - assertTrue(true); + public void testSaveWorkReport() { + 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 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 list = workReportDAO + .list(WorkReport.class); + assertEquals(previous + 2, list.size()); } } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java index 1569fa0fe..5b759adda 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java @@ -1,12 +1,18 @@ 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 org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; +import java.util.List; + import org.junit.Test; import org.junit.runner.RunWith; +import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.workreports.daos.IWorkReportLineDAO; +import org.navalplanner.business.workreports.entities.WorkReportLine; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -19,23 +25,38 @@ import org.springframework.transaction.annotation.Transactional; * @author Diego Pino García */ @Transactional -public class WorkReportLineDAOTest { +public class WorkReportLineDAOTest extends AbstractWorkReportTest { @Autowired private IWorkReportLineDAO workReportLineDAO; @Test public void testSaveWorkReportLine() { - assertTrue(true); + WorkReportLine workReportLine = createValidWorkReportLine(); + workReportLineDAO.save(workReportLine); + assertTrue(workReportLineDAO.exists(workReportLine.getId())); } @Test - public void testRemoveWorkReportLine() { - assertTrue(true); + public void testRemoveWorkReportLine() throws InstanceNotFoundException { + WorkReportLine workReportLine = createValidWorkReportLine(); + workReportLineDAO.save(workReportLine); + workReportLineDAO.remove(workReportLine.getId()); + assertFalse(workReportLineDAO.exists(workReportLine.getId())); } @Test 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 list = workReportLineDAO + .list(WorkReportLine.class); + assertEquals(previous + 2, list.size()); } } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java index 77dd3ca85..b9353316c 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java @@ -1,18 +1,16 @@ 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 org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; +import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; -import org.navalplanner.business.resources.daos.ICriterionTypeDAO; -import org.navalplanner.business.resources.entities.CriterionType; -import org.navalplanner.business.test.resources.daos.CriterionTypeDAOTest; +import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.workreports.daos.IWorkReportTypeDAO; import org.navalplanner.business.workreports.entities.WorkReportType; import org.springframework.beans.factory.annotation.Autowired; @@ -27,36 +25,38 @@ import org.springframework.transaction.annotation.Transactional; * @author Diego Pino García */ @Transactional -public class WorkReportTypeDAOTest { +public class WorkReportTypeDAOTest extends AbstractWorkReportTest { @Autowired private IWorkReportTypeDAO workReportTypeDAO; - @Autowired - private ICriterionTypeDAO criterionTypeDAO; - @Test public void testSaveWorkReportType() { - String unique = UUID.randomUUID().toString(); - CriterionType criterionType = CriterionTypeDAOTest - .createValidCriterionType(); - criterionTypeDAO.save(criterionType); - Set criterionTypes = new HashSet(); - criterionTypes.add(criterionType); - - WorkReportType workReportType = new WorkReportType(unique, - criterionTypes); + WorkReportType workReportType = createValidWorkReportType(); workReportTypeDAO.save(workReportType); assertTrue(workReportTypeDAO.exists(workReportType.getId())); } @Test - public void testRemoveWorkReportType() { - assertTrue(true); + public void testRemoveWorkReportType() throws InstanceNotFoundException { + WorkReportType workReportType = createValidWorkReportType(); + workReportTypeDAO.save(workReportType); + workReportTypeDAO.remove(workReportType.getId()); + assertFalse(workReportTypeDAO.exists(workReportType.getId())); } @Test 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 list = workReportTypeDAO + .list(WorkReportType.class); + assertEquals(previous + 2, list.size()); } }