Package org.openmrs.module.htmlformentry

Source Code of org.openmrs.module.htmlformentry.DrugOrderTagTest

package org.openmrs.module.htmlformentry;

import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;

import java.util.Date;
import java.util.Map;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
import org.junit.Test;
import org.openmrs.Drug;
import org.openmrs.Encounter;
import org.openmrs.Order;
import org.openmrs.api.context.Context;
import org.openmrs.test.BaseModuleContextSensitiveTest;
import org.springframework.mock.web.MockHttpServletRequest;


public class DrugOrderTagTest extends BaseModuleContextSensitiveTest {
 
protected final Log log = LogFactory.getLog(getClass());
 
  protected static final String XML_DATASET_PATH = "org/openmrs/module/htmlformentry/include/";
  protected static final String XML_REGRESSION_TEST_DATASET = "regressionTestDataSet";
  protected static final String XML_DRUG_ORDER_ELEMENT_DATASET = "drugOrderElementDataSet";

  @Before
    public void setupDatabase() throws Exception {
    executeDataSet(XML_DATASET_PATH + new TestUtil().getTestDatasetFilename(XML_REGRESSION_TEST_DATASET));
    executeDataSet(XML_DATASET_PATH + new TestUtil().getTestDatasetFilename(XML_DRUG_ORDER_ELEMENT_DATASET));
    }
 
  @Test
  public void testDrugOrderTag_shouldCreateDrugOrder() throws Exception {
    new RegressionTestHelper() {
      final Date date = new Date();
      @Override
      public String getFormName() {
        return "drugOrderTestForm";
      }
     
      @Override
      public String[] widgetLabels() {
        return new String[] { "Date:", "Location:", "Provider:" };
       
      }
     
      @Override
      public void testBlankFormHtml(String html){
        System.out.println(html);
      }
     
      @Override
      public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
        request.addParameter(widgets.get("Date:"), dateAsString(date));
        request.addParameter(widgets.get("Location:"), "2");
        request.addParameter(widgets.get("Provider:"), "502");
        //drug
        request.addParameter("w7", "2");
        //start date
        request.addParameter("w9", dateAsString(date));
        //dose
        request.addParameter("w11", "1");
      }
     
      @Override
      public void testResults(SubmissionResults results) {
        results.assertNoErrors();
        results.assertEncounterCreated();
        Encounter e = results.getEncounterCreated();
       
        Set<Order> orders = e.getOrders();
       
        Drug drug = Context.getConceptService().getDrug(2);
        assertThat(orders, contains(allOf(hasProperty("drug", is(drug)), hasProperty("dose", is(1.0)),
          hasProperty("startDate", is(ymdToDate(dateAsString(date)))))));
      }
    }.run();
  }
}
TOP

Related Classes of org.openmrs.module.htmlformentry.DrugOrderTagTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.