From 462bad175713b355441889a2bc0d9cdfbed0dec6 Mon Sep 17 00:00:00 2001 From: Agaba Derrick Date: Fri, 21 Feb 2025 12:17:56 +0300 Subject: [PATCH 1/3] Add SampleRequestServiceTest --- .../org/openelisglobal/AppTestConfig.java | 24 ++++---- .../requester/SampleRequesterServiceTest.java | 60 +++++++++++++++++++ src/test/resources/testdata/requester.xml | 9 +++ 3 files changed, 83 insertions(+), 10 deletions(-) create mode 100644 src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java create mode 100644 src/test/resources/testdata/requester.xml diff --git a/src/test/java/org/openelisglobal/AppTestConfig.java b/src/test/java/org/openelisglobal/AppTestConfig.java index 4ac7592578..c376322682 100644 --- a/src/test/java/org/openelisglobal/AppTestConfig.java +++ b/src/test/java/org/openelisglobal/AppTestConfig.java @@ -33,8 +33,12 @@ import org.openelisglobal.referral.service.ReferralResultService; import org.openelisglobal.referral.service.ReferralService; import org.openelisglobal.referral.service.ReferralSetService; +import org.openelisglobal.requester.dao.RequesterTypeDAO; +import org.openelisglobal.requester.dao.SampleRequesterDAO; import org.openelisglobal.requester.service.RequesterTypeService; +import org.openelisglobal.requester.service.RequesterTypeServiceImpl; import org.openelisglobal.requester.service.SampleRequesterService; +import org.openelisglobal.sample.service.SampleEditService; import org.openelisglobal.sampleorganization.service.SampleOrganizationService; import org.openelisglobal.sampleqaevent.service.SampleQaEventService; import org.openelisglobal.siteinformation.service.SiteInformationService; @@ -86,7 +90,8 @@ "org.openelisglobal.typeoftestresult", "org.openelisglobal.samplehuman", "org.openelisglobal.provider", "org.openelisglobal.role", "org.openelisglobal.organization", "org.openelisglobal.region.service", "org.openelisglobal.region.dao", "org.openelisglobal.program.service", "org.openelisglobal.program.dao", - "org.openelisglobal.systemuser.service", "org.openelisglobal.systemuser.daoimpl" }, excludeFilters = { + "org.openelisglobal.systemuser.service", "org.openelisglobal.systemuser.daoimpl", + "org.openelisglobal.requester.service","org.openelisglobal.requester.daoimpl",}, 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.*"), @@ -202,15 +207,8 @@ public SampleQaEventService sampleQaEventService() { } @Bean() - @Profile("test") - public SampleRequesterService sampleRequesterService() { - return mock(SampleRequesterService.class); - } - - @Bean() - @Profile("test") - public RequesterTypeService requesterTypeService() { - return mock(RequesterTypeService.class); + public SampleEditService sampleEditService() { + return mock(SampleEditService.class); } @Bean() @@ -386,6 +384,12 @@ public IStatusService iStatusService() { return mock(IStatusService.class); } + @Bean() + @Profile("Test") + public RequesterTypeService RequesterTypeService() { + return mock(RequesterTypeService.class); + } + @Bean() @Profile("test") public StatusOfSampleService statusOfSampleService() { diff --git a/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java b/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java new file mode 100644 index 0000000000..b6c5c518c6 --- /dev/null +++ b/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java @@ -0,0 +1,60 @@ +package org.openelisglobal.requester; + +import java.util.List; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.openelisglobal.BaseWebContextSensitiveTest; +import org.openelisglobal.requester.service.RequesterTypeService; +import org.openelisglobal.requester.service.SampleRequesterService; +import org.openelisglobal.requester.valueholder.RequesterType; +import org.openelisglobal.requester.valueholder.SampleRequester; +import org.springframework.beans.factory.annotation.Autowired; + +public class SampleRequesterServiceTest extends BaseWebContextSensitiveTest { + + @Autowired + SampleRequesterService sampleRequesterService; + + @Autowired + RequesterTypeService requesterTypeService; + + @Before + public void init() throws Exception { + executeDataSetWithStateManagement("testdata/requester.xml"); + } + + + @Test + public void verifyTestData() { + List sampleRequesters = sampleRequesterService.getAll(); + System.out.println("Sample Requesters in DB: " + sampleRequesters.size()); + sampleRequesters.forEach(requester -> System.out.println( + requester.getId() + " - Sample ID: " + requester.getSampleId() + + ", Requester ID: " + requester.getRequesterId() + + ", Requester Type ID: " + requester.getRequesterTypeId())); + + List requesterTypes = requesterTypeService.getAll(); + System.out.println("Requester Types in DB: " + requesterTypes.size()); + requesterTypes.forEach(type -> System.out.println( + type.getId() + " - " + type.getRequesterType())); + + Assert.assertFalse("❌ sample_requester table should not be empty!", sampleRequesters.isEmpty()); + Assert.assertFalse("❌ requester_type table should not be empty!", requesterTypes.isEmpty()); + } + + @Test + public void getRequestersForSampleId_shouldReturnCorrectRequesters() { + List requesters = sampleRequesterService.getRequestersForSampleId("1"); + Assert.assertNotNull("Requesters list should not be null", requesters); + Assert.assertEquals("Expected exactly 1 requester for sample_id=1", 1, requesters.size()); + } + + @Test + public void getAll_shouldReturnAllRequesters() { + List requesters = sampleRequesterService.getAll(); + Assert.assertNotNull("Requesters list should not be null", requesters); + Assert.assertTrue("Requesters list should not be empty", !requesters.isEmpty()); + } + +} \ No newline at end of file diff --git a/src/test/resources/testdata/requester.xml b/src/test/resources/testdata/requester.xml new file mode 100644 index 0000000000..17f8657966 --- /dev/null +++ b/src/test/resources/testdata/requester.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file From aeeb5a5ec8b3e8b9afe5b034e9993a890c4ec1be Mon Sep 17 00:00:00 2001 From: Agaba Derrick Date: Fri, 21 Feb 2025 12:34:32 +0300 Subject: [PATCH 2/3] fix CI --- .../org/openelisglobal/AppTestConfig.java | 6 +---- .../requester/SampleRequesterServiceTest.java | 11 +++----- src/test/resources/testdata/requester.xml | 25 +++++++++++++------ 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/test/java/org/openelisglobal/AppTestConfig.java b/src/test/java/org/openelisglobal/AppTestConfig.java index c376322682..f3bbd818d0 100644 --- a/src/test/java/org/openelisglobal/AppTestConfig.java +++ b/src/test/java/org/openelisglobal/AppTestConfig.java @@ -33,11 +33,7 @@ import org.openelisglobal.referral.service.ReferralResultService; import org.openelisglobal.referral.service.ReferralService; import org.openelisglobal.referral.service.ReferralSetService; -import org.openelisglobal.requester.dao.RequesterTypeDAO; -import org.openelisglobal.requester.dao.SampleRequesterDAO; import org.openelisglobal.requester.service.RequesterTypeService; -import org.openelisglobal.requester.service.RequesterTypeServiceImpl; -import org.openelisglobal.requester.service.SampleRequesterService; import org.openelisglobal.sample.service.SampleEditService; import org.openelisglobal.sampleorganization.service.SampleOrganizationService; import org.openelisglobal.sampleqaevent.service.SampleQaEventService; @@ -91,7 +87,7 @@ "org.openelisglobal.role", "org.openelisglobal.organization", "org.openelisglobal.region.service", "org.openelisglobal.region.dao", "org.openelisglobal.program.service", "org.openelisglobal.program.dao", "org.openelisglobal.systemuser.service", "org.openelisglobal.systemuser.daoimpl", - "org.openelisglobal.requester.service","org.openelisglobal.requester.daoimpl",}, excludeFilters = { + "org.openelisglobal.requester.service", "org.openelisglobal.requester.daoimpl", }, 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/requester/SampleRequesterServiceTest.java b/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java index b6c5c518c6..b9b6f24737 100644 --- a/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java +++ b/src/test/java/org/openelisglobal/requester/SampleRequesterServiceTest.java @@ -24,20 +24,17 @@ public void init() throws Exception { executeDataSetWithStateManagement("testdata/requester.xml"); } - @Test public void verifyTestData() { List sampleRequesters = sampleRequesterService.getAll(); System.out.println("Sample Requesters in DB: " + sampleRequesters.size()); - sampleRequesters.forEach(requester -> System.out.println( - requester.getId() + " - Sample ID: " + requester.getSampleId() + - ", Requester ID: " + requester.getRequesterId() + - ", Requester Type ID: " + requester.getRequesterTypeId())); + sampleRequesters.forEach(requester -> System.out + .println(requester.getId() + " - Sample ID: " + requester.getSampleId() + ", Requester ID: " + + requester.getRequesterId() + ", Requester Type ID: " + requester.getRequesterTypeId())); List requesterTypes = requesterTypeService.getAll(); System.out.println("Requester Types in DB: " + requesterTypes.size()); - requesterTypes.forEach(type -> System.out.println( - type.getId() + " - " + type.getRequesterType())); + requesterTypes.forEach(type -> System.out.println(type.getId() + " - " + type.getRequesterType())); Assert.assertFalse("❌ sample_requester table should not be empty!", sampleRequesters.isEmpty()); Assert.assertFalse("❌ requester_type table should not be empty!", requesterTypes.isEmpty()); diff --git a/src/test/resources/testdata/requester.xml b/src/test/resources/testdata/requester.xml index 17f8657966..9db664b8cc 100644 --- a/src/test/resources/testdata/requester.xml +++ b/src/test/resources/testdata/requester.xml @@ -1,9 +1,20 @@ + + + - - - - + + + + - - - \ No newline at end of file + + + From 06b3c34d90524f5ce689fd9faecf566445fe8db4 Mon Sep 17 00:00:00 2001 From: Agaba Derrick Date: Fri, 21 Feb 2025 13:00:37 +0300 Subject: [PATCH 3/3] add Requester-Tests --- .../requester/RequesterTypeServiceTest.java | 46 +++++++++++++++++++ src/test/resources/testdata/requester.xml | 4 ++ 2 files changed, 50 insertions(+) create mode 100644 src/test/java/org/openelisglobal/requester/RequesterTypeServiceTest.java diff --git a/src/test/java/org/openelisglobal/requester/RequesterTypeServiceTest.java b/src/test/java/org/openelisglobal/requester/RequesterTypeServiceTest.java new file mode 100644 index 0000000000..343705e0c5 --- /dev/null +++ b/src/test/java/org/openelisglobal/requester/RequesterTypeServiceTest.java @@ -0,0 +1,46 @@ +package org.openelisglobal.requester; + +import java.util.List; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.openelisglobal.BaseWebContextSensitiveTest; +import org.openelisglobal.requester.service.RequesterTypeService; +import org.openelisglobal.requester.valueholder.RequesterType; +import org.springframework.beans.factory.annotation.Autowired; + +public class RequesterTypeServiceTest extends BaseWebContextSensitiveTest { + + @Autowired + RequesterTypeService requesterTypeService; + + @Before + public void init() throws Exception { + executeDataSetWithStateManagement("testdata/requester.xml"); + } + + @Test + public void verifyRequesterTypeData() { + List requesterTypes = requesterTypeService.getAll(); + System.out.println("Requester Types in DB: " + requesterTypes.size()); + requesterTypes.forEach(type -> System.out.println(type.getId() + " - " + type.getRequesterType())); + + Assert.assertFalse("❌ requester_type table should not be empty!", requesterTypes.isEmpty()); + } + + @Test + public void getRequesterTypeByName_shouldReturnCorrectRequesterType() { + String typeName = "LABORATORY"; + RequesterType requesterType = requesterTypeService.getRequesterTypeByName(typeName); + Assert.assertNotNull("Requester type should not be null", requesterType); + Assert.assertEquals("Expected requester type name to be LABORATORY", "LABORATORY", + requesterType.getRequesterType()); + } + + @Test + public void getAll_shouldReturnAllRequesterTypes() { + List requesterTypes = requesterTypeService.getAll(); + Assert.assertNotNull("Requester types list should not be null", requesterTypes); + Assert.assertTrue("Requester types list should not be empty", !requesterTypes.isEmpty()); + } +} diff --git a/src/test/resources/testdata/requester.xml b/src/test/resources/testdata/requester.xml index 9db664b8cc..8e7462a38a 100644 --- a/src/test/resources/testdata/requester.xml +++ b/src/test/resources/testdata/requester.xml @@ -17,4 +17,8 @@ + +