diff --git a/src/test/java/org/openelisglobal/AppTestConfig.java b/src/test/java/org/openelisglobal/AppTestConfig.java index f0ad99080..7e6e2fae5 100644 --- a/src/test/java/org/openelisglobal/AppTestConfig.java +++ b/src/test/java/org/openelisglobal/AppTestConfig.java @@ -86,7 +86,8 @@ "org.openelisglobal.sampleitem.", "org.openelisglobal.analysis", "org.openelisglobal.result.service", "org.openelisglobal.result.daoimpl", "org.openelisglobal.resultlimit", "org.openelisglobal.resultlimits", "org.openelisglobal.typeoftestresult", "org.openelisglobal.samplehuman", "org.openelisglobal.provider", - "org.openelisglobal.role", "org.openelisglobal.organization" }, excludeFilters = { + "org.openelisglobal.role", "org.openelisglobal.organization", "org.openelisglobal.region.service", + "org.openelisglobal.region.dao" }, excludeFilters = { @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.openelisglobal.patient.controller.*"), @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.openelisglobal.provider.controller.*"), @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.openelisglobal.organization.controller.*"), diff --git a/src/test/java/org/openelisglobal/region/RegionServiceTest.java b/src/test/java/org/openelisglobal/region/RegionServiceTest.java new file mode 100644 index 000000000..a988d4ac0 --- /dev/null +++ b/src/test/java/org/openelisglobal/region/RegionServiceTest.java @@ -0,0 +1,87 @@ +package org.openelisglobal.region; + +import java.sql.Timestamp; +import java.util.List; +import java.util.Map; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.openelisglobal.BaseWebContextSensitiveTest; +import org.openelisglobal.region.service.RegionService; +import org.openelisglobal.region.valueholder.Region; +import org.springframework.beans.factory.annotation.Autowired; + +public class RegionServiceTest extends BaseWebContextSensitiveTest { + + @Autowired + RegionService regionService; + + private Map testRegions; + + @Before + public void init() throws Exception { + executeDataSetWithStateManagement("testdata/region.xml"); + } + + @After + public void tearDown() { + List regions = regionService.getAll(); + for (Region region : regions) { + if (region.getLastupdated() == null) { + region.setLastupdated(new Timestamp(System.currentTimeMillis())); + } + } + regionService.deleteAll(regions); + + } + + @Test + public void createRegion_shouldCreateNewRegion() throws Exception { + String regionName = "Midwest"; + String regionId = "1"; + Region region = createRegion(regionName, regionId); + + String savedRegionId = regionService.insert(region); + + Region savedRegion = regionService.get(savedRegionId); + Assert.assertEquals(regionName, savedRegion.getRegion()); + Assert.assertNotNull(savedRegion.getId()); + } + + @Test + public void updateRegion_shouldUpdateExistingRegion() throws Exception { + Region existingRegion = regionService.get("2"); + Assert.assertNotNull(existingRegion); + + existingRegion.setRegion("Updated Northeast"); + regionService.update(existingRegion); + + Region updatedRegion = regionService.get("2"); + Assert.assertEquals("Updated Northeast", updatedRegion.getRegion()); + } + + @Test + public void getAllRegions_shouldReturnAllRegions() throws Exception { + List regions = regionService.getAll(); + Assert.assertEquals(5, regions.size()); + } + + @Test + public void deleteRegion_shouldRemoveAnExistingRegion() throws Exception { + Region region = regionService.get("1"); + Assert.assertNotNull(region); + + Assert.assertEquals(5, regionService.getAll().size()); + + regionService.delete(region); + Assert.assertEquals(4, regionService.getAll().size()); + } + + private Region createRegion(String regionName, String regionId) { + Region region = new Region(); + region.setRegion(regionName); + region.setLastupdated(new Timestamp(System.currentTimeMillis())); + return region; + } +} \ No newline at end of file diff --git a/src/test/resources/testdata/region.xml b/src/test/resources/testdata/region.xml new file mode 100644 index 000000000..24afef5ee --- /dev/null +++ b/src/test/resources/testdata/region.xml @@ -0,0 +1,25 @@ + + + + + + + + + + +