package org.openmrs.reporting; import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.openmrs.Concept; import org.openmrs.api.PatientSetService; import org.openmrs.api.context.Context; import org.openmrs.cohort.CohortSearchHistory; import org.openmrs.test.BaseContextSensitiveTest; import org.openmrs.test.Verifies; public class ReportObjectServiceTest extends BaseContextSensitiveTest { /** * @see {@link ReportObjectService#saveSearchHistory(CohortSearchHistory)} * */ @Test @Verifies(value = "should save history successfully", method = "saveSearchHistory(CohortSearchHistory)") public void saveSearchHistory_shouldSaveHistorySuccessfully() throws Exception { // make a patient search object PatientSearch search = new PatientSearch(); search.setFilterClass(ObsPatientFilter.class); List<SearchArgument> args = new ArrayList<SearchArgument>(); args.add(new SearchArgument("timeModifier", "ANY", PatientSetService.TimeModifier.class)); args.add(new SearchArgument("question", Context.getConceptService().getConceptByName("CD4 COUNT").getConceptId() .toString(), Concept.class)); args.add(new SearchArgument("withinLastDays", "${howManyDays}", Integer.class)); search.setArguments(args); // save the object to the database CohortSearchHistory history = new CohortSearchHistory(); history.setName("Some name"); history.setDescription("a description"); history.addSearchItem(search); Context.getReportObjectService().saveSearchHistory(history); } }