@Test
  public void createRevisedOrderFromEtOrder() {
    Provider provider = mock(Provider.class);
    handleEncounterProvider(provider);

    Order originalOrder = new Order();
    when(orderService.getOrderByUuid("previousOrderUuid")).thenReturn(originalOrder);

    Date currentDate = new Date();

    EncounterTransaction.Order etOrder = new EncounterTransaction.Order();
    etOrder.setUuid(null);
    etOrder.setPreviousOrderUuid("previousOrderUuid");
    etOrder.setAutoExpireDate(currentDate);
    etOrder.setCommentToFulfiller("Comment");

    OpenMRSOrderMapper orderMapper = new OpenMRSOrderMapper(orderService, conceptService);

    Order order = orderMapper.map(etOrder, encounter);

    verify(orderService).getOrderByUuid("previousOrderUuid");
    Assert.assertEquals(encounter, order.getEncounter());
    Assert.assertEquals("Comment", order.getCommentToFulfiller());
    Assert.assertEquals(currentDate, order.getAutoExpireDate());
    Assert.assertEquals(provider, order.getOrderer());
  }
 @Override
 public EncounterTransaction.Order mapOrder(Order order) {
   EncounterTransaction.Order emrOrder = new EncounterTransaction.Order();
   emrOrder.setUuid(order.getUuid());
   emrOrder.setConcept(conceptMapper.map(order.getConcept()));
   emrOrder.setOrderType(order.getOrderType().getName());
   emrOrder.setInstructions(order.getInstructions());
   emrOrder.setDateCreated(order.getDateCreated());
   emrOrder.setDateChanged(order.getDateChanged());
   emrOrder.setDateStopped(order.getDateStopped());
   emrOrder.setOrderNumber(order.getOrderNumber());
   emrOrder.setCommentToFulfiller(order.getCommentToFulfiller());
   emrOrder.setAction(order.getAction().name());
   org.openmrs.Order previousOrder = order.getPreviousOrder();
   if (previousOrder != null && StringUtils.isNotBlank(previousOrder.getUuid())) {
     emrOrder.setPreviousOrderUuid(previousOrder.getUuid());
   }
   return emrOrder;
 }