@Test
  public void discontinueOrder() throws Exception {
    Provider provider = mock(Provider.class);
    handleEncounterProvider(provider);

    Order mrsOrder = new Order();
    when(orderService.getOrderByUuid("previous order uuid")).thenReturn(mrsOrder);

    Date createdDate = new Date();
    EncounterTransaction.Concept blood =
        new EncounterTransaction.Concept("bloodConceptUuid", "blood");

    EncounterTransaction.Order etOrder =
        new OrderBuilder()
            .withAction(org.openmrs.Order.Action.DISCONTINUE.toString())
            .withUuid("orderUuid")
            .withConcept(blood)
            .withPreviousOrderUuid("previous order uuid")
            .withDateCreated(createdDate)
            .build();

    OpenMRSOrderMapper orderMapper = new OpenMRSOrderMapper(orderService, conceptService);
    Order order = orderMapper.map(etOrder, encounter);

    Assert.assertEquals(org.openmrs.Order.Action.DISCONTINUE, order.getAction());
  }
  @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());
  }