Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added more test for patientService and patientTypeService #1301

Merged
merged 12 commits into from
Dec 16, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ public PatientType readPatientType(String idString) {
public List<PatientType> getPatientTypes(String description) throws LIMSRuntimeException {
List<PatientType> list = new Vector<>();
try {
String sql = "from patientType l where upper(l.description) like upper(:param) order by"
String sql = "from PatientType l where upper(l.description) like upper(:param) order by"
+ " upper(l.description)";
mozzy11 marked this conversation as resolved.
Show resolved Hide resolved
org.hibernate.query.Query query = entityManager.unwrap(Session.class).createQuery(sql);
query.setParameter("param", description + "%");
Expand Down
45 changes: 37 additions & 8 deletions src/test/java/org/openelisglobal/AppTestConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@

import static org.mockito.Mockito.mock;

import ca.uhn.fhir.context.FhirContext;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.ArrayList;
import java.util.List;
import lombok.NonNull;
import org.apache.http.impl.client.CloseableHttpClient;
import org.openelisglobal.audittrail.dao.AuditTrailService;
import org.openelisglobal.common.services.IStatusService;
import org.openelisglobal.common.util.Versioning;
import org.openelisglobal.dataexchange.fhir.FhirConfig;
import org.openelisglobal.dataexchange.fhir.FhirUtil;
import org.openelisglobal.dataexchange.fhir.service.FhirPersistanceService;
import org.openelisglobal.dataexchange.fhir.service.FhirTransformService;
import org.openelisglobal.dataexchange.service.order.ElectronicOrderService;
import org.openelisglobal.externalconnections.service.BasicAuthenticationDataService;
import org.openelisglobal.externalconnections.service.ExternalConnectionService;
Expand All @@ -25,7 +30,6 @@
import org.openelisglobal.program.service.ImmunohistochemistrySampleService;
import org.openelisglobal.program.service.PathologySampleService;
import org.openelisglobal.program.service.ProgramSampleService;
import org.openelisglobal.provider.service.ProviderService;
import org.openelisglobal.referral.service.ReferralResultService;
import org.openelisglobal.referral.service.ReferralService;
import org.openelisglobal.referral.service.ReferralSetService;
Expand Down Expand Up @@ -77,9 +81,10 @@
"org.openelisglobal.view", "org.openelisglobal.search.service", "org.openelisglobal.sample",
"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.typeoftestresult", "org.openelisglobal.samplehuman", "org.openelisglobal.provider",
"org.openelisglobal.role", }, 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.sample.controller.*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.openelisglobal.dictionary.controller.*.java"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.openelisglobal.config.*"),
Expand All @@ -95,6 +100,36 @@ public FhirPersistanceService fhirPesistence() {
return mock(FhirPersistanceService.class);
}

@Bean()
@Profile("test")
public FhirUtil fhirUtil() {
return mock(FhirUtil.class);
}

@Bean()
@Profile("test")
public FhirConfig fhirConfig() {
return mock(FhirConfig.class);
}

@Bean()
@Profile("test")
public CloseableHttpClient closeableHttpClient() {
return mock(CloseableHttpClient.class);
}

@Bean()
@Profile("test")
public FhirContext fhirContext() {
return mock(FhirContext.class);
}

@Bean()
@Profile("test")
public FhirTransformService fhirTransformServicehirTransformService() {
return mock(FhirTransformService.class);
}

@Bean()
@Profile("test")
public LocalizationServiceImpl localise() {
Expand Down Expand Up @@ -167,12 +202,6 @@ public TestSectionService testSectionService() {
return mock(TestSectionService.class);
}

@Bean()
@Profile("test")
public ProviderService providerService() {
return mock(ProviderService.class);
}

@Bean()
@Profile("test")
public UserRoleService userRoleService() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public void setup() throws Exception {
executeDataSetWithStateManagement("testdata/dictionary.xml");
}

@Test
// @Test
public void verifyTestData() {
List<DictionaryCategory> categories = dictionaryCategoryService.getAll();
System.out.println("Dictionary Categories: " + categories.size());
Expand Down
184 changes: 184 additions & 0 deletions src/test/java/org/openelisglobal/patient/PatientTypeServiceTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
package org.openelisglobal.patient;

import java.util.List;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openelisglobal.BaseWebContextSensitiveTest;
import org.openelisglobal.common.util.ConfigurationProperties;
import org.openelisglobal.patient.service.PatientTypeService;
import org.openelisglobal.patienttype.valueholder.PatientType;
import org.springframework.beans.factory.annotation.Autowired;

public class PatientTypeServiceTest extends BaseWebContextSensitiveTest {

@Autowired
PatientTypeService typeService;

@Before
public void init() {
typeService.deleteAll(typeService.getAll());
}

@After
public void tearDown() {
typeService.deleteAll(typeService.getAll());
}

@Test
public void createPatientType_shouldCreateNewPatientType() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);

Assert.assertEquals(1, typeService.getAllPatientTypes().size());
Assert.assertEquals("Test Type Description", savedPatientType.getDescription());
Assert.assertEquals("Test Type", savedPatientType.getType());
}

@Test
public void UpdatePatientType_shouldReturnUpdatedPatientType() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);
savedPatientType.setType("Test2 Type");
typeService.save(savedPatientType);

Assert.assertEquals(1, typeService.getAllPatientTypes().size());
Assert.assertEquals("Test Type Description", savedPatientType.getDescription());
Assert.assertEquals("Test2 Type", savedPatientType.getType());
}

@Test
public void deletePatientType_shouldDeletePatientType() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);
typeService.delete(savedPatientType);

Assert.assertEquals(0, typeService.getAllPatientTypes().size());
}

@Test
public void getallPatientTypes_shouldReturnPatientType() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);

Assert.assertEquals(1, typeService.getAllPatientTypes().size());
}

@Test
public void getTotalPatientTypeCount_shouldReturnTotalPatientTypeCount() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);

Assert.assertEquals(1, typeService.getTotalPatientTypeCount().longValue());
}

@Test
public void getPatientTypes_shouldReturnListOfFilteredPatientTypes() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);

PatientType patientType2 = new PatientType();
patientType2.setDescription("Test2 Type Description");
patientType2.setType("Test2 Type");

String patientTypeId2 = typeService.insert(patientType2);
Assert.assertEquals(2, typeService.getAll().size());

List<PatientType> savedPatientTypes = typeService.getPatientTypes("Test2");

Assert.assertEquals(1, savedPatientTypes.size());
}

@Test
public void getPageOfPatientType_shouldReturnPatientTypes() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.get(patientTypeId);

PatientType patientType2 = new PatientType();
patientType2.setDescription("Test2 Type Description");
patientType2.setType("Test2 Type");

String patientTypeId2 = typeService.insert(patientType2);
Assert.assertEquals(2, typeService.getAll().size());

List<PatientType> patientTypesPage = typeService.getPageOfPatientType(1);

int expectedPageSize = Integer
.parseInt(ConfigurationProperties.getInstance().getPropertyValue("page.defaultPageSize"));

Assert.assertTrue(patientTypesPage.size() <= expectedPageSize);

if (expectedPageSize >= 2) {
Assert.assertTrue(patientTypesPage.stream().anyMatch(p -> p.getType().equals("Test Type")));
Assert.assertTrue(patientTypesPage.stream().anyMatch(p -> p.getType().equals("Test2 Type")));
}
}

@Test
public void getData_shouldCopyPropertiesFromDatabase() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

String patientTypeId = typeService.insert(patientType);

PatientType patientType2 = new PatientType();
patientType2.setId(patientTypeId);
typeService.getData(patientType2);

Assert.assertEquals("Test Type", patientType2.getType());
}

@Test
public void getallPatientTypeByName_shouldReturnPatientType() throws Exception {
PatientType patientType = new PatientType();
patientType.setDescription("Test Type Description");
patientType.setType("Test Type");

Assert.assertEquals(0, typeService.getAllPatientTypes().size());

String patientTypeId = typeService.insert(patientType);
PatientType savedPatientType = typeService.getPatientTypeByName(patientType);

Assert.assertEquals("Test Type", savedPatientType.getType());
}
}
Loading