Skip to content

Commit

Permalink
Merge 57ad0ab into d1db9de
Browse files Browse the repository at this point in the history
  • Loading branch information
HerbertYiga committed May 4, 2021
2 parents d1db9de + 57ad0ab commit d588afa
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
3 changes: 2 additions & 1 deletion api/src/main/java/org/openmrs/api/impl/OrderServiceImpl.java
Expand Up @@ -49,6 +49,7 @@
import org.openmrs.parameter.OrderSearchCriteria;
import org.openmrs.util.OpenmrsConstants;
import org.openmrs.util.OpenmrsUtil;
import org.openmrs.validator.ValidateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Propagation;
Expand Down Expand Up @@ -333,9 +334,9 @@ private Order saveOrderInternal(Order order, OrderContext orderContext) {
cal.set(Calendar.MILLISECOND, 0);
order.setAutoExpireDate(cal.getTime());
}
ValidateUtil.validate(order);
}
}

return dao.saveOrder(order);
}

Expand Down
51 changes: 51 additions & 0 deletions api/src/test/java/org/openmrs/validator/OrderValidatorTest.java
Expand Up @@ -18,15 +18,19 @@
import java.util.Date;

import org.apache.commons.lang3.time.DateUtils;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openmrs.CareSetting;
import org.openmrs.Concept;
import org.openmrs.DrugOrder;
import org.openmrs.Encounter;
import org.openmrs.Order;
import org.openmrs.OrderFrequency;
import org.openmrs.OrderGroup;
import org.openmrs.Patient;
import org.openmrs.TestOrder;
import org.openmrs.api.OrderContext;
import org.openmrs.api.OrderService;
import org.openmrs.api.builder.OrderBuilder;
import org.openmrs.api.context.Context;
Expand All @@ -51,6 +55,53 @@ public void setup() {
orderService = Context.getOrderService();
}

/**
* @see OrderValidator#validate(Object, org.springframework.validation.Errors)
*/
@Test
public void validate_shouldNotBeByPassedIfSomeFieldsAreSetFromOrderContext() {
DrugOrder order = new DrugOrder();
Encounter encounter = new Encounter();

order.setConcept(Context.getConceptService().getConcept(7));
order.setOrderer(Context.getProviderService().getProvider(1));

Patient patient = Context.getPatientService().getPatient(2);
encounter.setPatient(patient);
order.setEncounter(Context.getEncounterService().getEncounter(6));
order.setPatient(patient);

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - 1);

order.setDateActivated(cal.getTime());
order.setAutoExpireDate(new Date());
order.setUuid("a4ubkf10-ac05-11e3-a5e2-0800200c9a66");
order.setCareSetting(null);

order.setUrgency(Order.Urgency.ROUTINE);
order.setAction(Order.Action.NEW);
order.setOrderType(Context.getOrderService().getOrderTypeByName("Drug order"));

Double dose = new Double(2);
order.setDose(dose);
order.setDoseUnits(Context.getConceptService().getConcept(50));
order.setFrequency(Context.getOrderService().getOrderFrequency(1));

//using route from an existing drug order
DrugOrder drugOrder = (DrugOrder) Context.getOrderService().getOrder(2);
order.setRoute(drugOrder.getRoute());

OrderContext orderContext = new OrderContext();
orderContext.setCareSetting(orderService.getCareSetting(1));
order.setQuantity(42.0);
order.setQuantityUnits(Context.getConceptService().getConcept(50));
order.setNumRefills(3);
Context.getOrderService().saveOrder(order, orderContext);
Assert.assertNotNull(Context.getOrderService().getOrderByUuid("a4ubkf10-ac05-11e3-a5e2-0800200c9a66"));
}


/**
* @see OrderValidator#validate(Object, org.springframework.validation.Errors)
*/
Expand Down

0 comments on commit d588afa

Please sign in to comment.