package org.openmrs.module.reporting.data.visit.library; import org.junit.Before; import org.junit.Test; import org.openmrs.Visit; import org.openmrs.contrib.testdata.TestDataManager; import org.openmrs.module.reporting.data.visit.EvaluatedVisitData; import org.openmrs.module.reporting.data.visit.definition.VisitDataDefinition; import org.openmrs.module.reporting.data.visit.service.VisitDataService; import org.openmrs.module.reporting.evaluation.EvaluationException; import org.openmrs.module.reporting.evaluation.context.VisitEvaluationContext; import org.openmrs.module.reporting.query.visit.VisitIdSet; import org.openmrs.test.BaseModuleContextSensitiveTest; import org.springframework.beans.factory.annotation.Autowired; import java.util.Date; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class BuiltInVisitDataLibraryTest extends BaseModuleContextSensitiveTest { @Autowired private TestDataManager data; @Autowired private BuiltInVisitDataLibrary library; @Autowired private VisitDataService visitDataService; private VisitEvaluationContext context; private Visit v1; private VisitIdSet visitIdSet; @Before public void setup() throws Exception { v1 = data.visit().patient(7) .visitType(1) .location("Xanadu") .started(new Date()).save(); visitIdSet = new VisitIdSet(v1.getId()); context = new VisitEvaluationContext(); context.setBaseVisits(visitIdSet); } @Test public void testVisitId() throws EvaluationException { VisitDataDefinition definition = library.getVisitId(); EvaluatedVisitData data = visitDataService.evaluate(definition, context); assertThat((Integer) data.getData().get(v1.getId()), is(v1.getId())); } }