package org.openmrs.module.reporting.data.converter; import org.junit.Test; import org.openmrs.Concept; import org.openmrs.Obs; import org.openmrs.api.ConceptService; import org.openmrs.test.BaseModuleContextSensitiveTest; import org.springframework.beans.factory.annotation.Autowired; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; public class ObsFromObsGroupConverterTest extends BaseModuleContextSensitiveTest { @Autowired private ConceptService conceptService; @Test public void shouldReturnObsFromObsGroup() { Obs groupObs = buildObsGroup(); Concept cd4 = conceptService.getConcept(5497); Concept weight = conceptService.getConcept(5089); DataConverter converter = new ObsFromObsGroupConverter(cd4); assertThat(((Obs) converter.convert(groupObs)).getId(), is(20)); converter = new ObsFromObsGroupConverter(weight); assertThat(((Obs) converter.convert(groupObs)).getId(), is(10)); } @Test public void shouldReturnNullIfNoMatchingObs() { Obs groupObs = buildObsGroup(); Concept treatmentStatus = conceptService.getConcept(12); DataConverter converter = new ObsFromObsGroupConverter(treatmentStatus); assertNull(converter.convert(groupObs)); } private Obs buildObsGroup() { Obs groupObs = new Obs(); Obs weight = new Obs(10); Obs cd4 = new Obs(20); weight.setConcept(conceptService.getConcept(5089)); cd4.setConcept(conceptService.getConcept(5497)); groupObs.addGroupMember(weight); groupObs.addGroupMember(cd4); return groupObs; } }