/** * @see org.openmrs.Order#copy() * @should copy all drug order fields */ @Override public DrugOrder copy() { return copyHelper(new DrugOrder()); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnTrueIfBothDrugsAreNullAndTheConceptsMatch() { DrugOrder order = new DrugOrder(); Concept concept = new Concept(); order.setConcept(concept); DrugOrder otherOrder = new DrugOrder(); otherOrder.setConcept(concept); assertTrue(order.hasSameOrderableAs(otherOrder)); }
@Test public void shouldSetDefaultDosingTypeToFreeText() { DrugOrder drugOrder = new DrugOrder(); assertEquals(SimpleDosingInstructions.class, drugOrder.getDosingType()); }
@Test public void shouldAllowToSetCustomDosingTypes() { DrugOrder drugOrder = new DrugOrder(); assertEquals(SimpleDosingInstructions.class, drugOrder.getDosingType()); CustomDosingInstructions customDosingInstructions = new CustomDosingInstructions(); drugOrder.setDosingType(customDosingInstructions.getClass()); DosingInstructions dosingInstructionsObject = drugOrder.getDosingInstructionsInstance(); assertEquals(customDosingInstructions.getClass(), dosingInstructionsObject.getClass()); assertEquals(customDosingInstructions.getClass(), drugOrder.getDosingType()); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfBothDrugsAreNullAndTheConceptsAreDifferent() { DrugOrder order = new DrugOrder(); order.setConcept(new Concept()); DrugOrder otherOrder = new DrugOrder(); otherOrder.setConcept(new Concept()); assertFalse(order.hasSameOrderableAs(otherOrder)); }
/** * @see DrugOrder#setAutoExpireDateBasedOnDuration() */ @Test public void setAutoExpireDateBasedOnDuration_shouldNotCalculateIfAutoExpireDateAlreadySet() { DrugOrder drugOrder = new DrugOrder(); Date expectedAutoExpireDate = new Date(); drugOrder.setAutoExpireDate(expectedAutoExpireDate); drugOrder.setAutoExpireDateBasedOnDuration(); assertEquals(expectedAutoExpireDate, drugOrder.getAutoExpireDate()); }
public DrugOrderBuilder() { patientService = Context.getPatientService(); conceptService = Context.getConceptService(); orderService = Context.getOrderService(); encounterService = Context.getEncounterService(); drugOrder = new DrugOrder(); }
/** * @see DrugOrder#setAutoExpireDateBasedOnDuration() */ @Test public void setAutoExpireDateBasedOnDuration_shouldNotCalculateForDiscontinueAction() { DrugOrder drugOrder = new DrugOrder(); drugOrder.setAction(Order.Action.DISCONTINUE); Date expectedAutoExpireDate = new Date(); drugOrder.setAutoExpireDate(expectedAutoExpireDate); drugOrder.setAutoExpireDateBasedOnDuration(); assertEquals(expectedAutoExpireDate, drugOrder.getAutoExpireDate()); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfTheOtherOrderIsNull() { DrugOrder order = new DrugOrder(); order.setConcept(new Concept()); assertFalse(order.hasSameOrderableAs(null)); }
@Test public void getAutoExpireDate_shouldNotInferAutoExpireDateWhenDurationUnitsDoesNotExist() throws ParseException { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDateActivated(createDateTime("2014-07-01 10:00:00")); drugOrder.setDuration(1); drugOrder.setDurationUnits(null); Date autoExpireDate = new SimpleDosingInstructions().getAutoExpireDate(drugOrder); assertEquals(null, autoExpireDate); }
@Test public void getAutoExpireDate_shouldNotInferAutoExpireDateWhenDurationDoesNotExist() throws ParseException { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDateActivated(createDateTime("2014-07-01 10:00:00")); drugOrder.setDurationUnits(createUnits(Duration.SNOMED_CT_SECONDS_CODE)); drugOrder.setDuration(null); Date autoExpireDate = new SimpleDosingInstructions().getAutoExpireDate(drugOrder); assertEquals(null, autoExpireDate); }
@Test public void getAutoExpireDate_shouldNotInferAutoExpireDateWhenConceptMappingOfSourceSNOMEDCTDurationDoesNotExist() throws ParseException { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDateActivated(createDateTime("2014-07-01 10:00:00")); drugOrder.setDuration(30); drugOrder.setDurationUnits(createUnits("Other.Source", Duration.SNOMED_CT_HOURS_CODE, null)); Date autoExpireDate = new SimpleDosingInstructions().getAutoExpireDate(drugOrder); assertEquals(null, autoExpireDate); }
/** * @throws Exception * @see DrugOrder#copy() */ @Test public void copy_shouldCopyAllDrugOrderFields() throws Exception { DrugOrder drugOrder = new DrugOrder(); Drug drug = new Drug(); drug.setConcept(new Concept()); drugOrder.setDrug(drug); OrderTest.assertThatAllFieldsAreCopied(drugOrder, null); }
/** * @see DrugOrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldFailIfConceptIsNullAndDrugIsNotSpecified() { DrugOrder order = new DrugOrder(); Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); Assert.assertTrue(errors.hasFieldErrors("concept")); }
@Test public void getAutoExpireDate_shouldNotInferAutoExpireDateWhenDrugOrderHasOneOrMoreRefill() throws ParseException { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDateActivated(createDateTime("2014-07-01 10:00:00")); drugOrder.setDuration(30); drugOrder.setDurationUnits(createUnits(Duration.SNOMED_CT_SECONDS_CODE)); drugOrder.setNumRefills(1); Date autoExpireDate = new SimpleDosingInstructions().getAutoExpireDate(drugOrder); assertEquals(null, autoExpireDate); }
/** * @see DrugOrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldFailValidationIfRouteIsNullForSimpleDosingInstructionsDosingType() { DrugOrder order = new DrugOrder(); order.setDosingType(SimpleDosingInstructions.class); order.setRoute(null); Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); Assert.assertTrue(errors.hasFieldErrors("route")); }
/** * @see DrugOrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldNotValidateACustomDosingTypeAgainstAnyOtherDosingTypeValidation() { DrugOrder order = new DrugOrder(); order.setDosingType(CustomDosingInstructions.class); order.setDosingInstructions(null); Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); Assert.assertFalse(errors.hasFieldErrors("dosingInstructions")); }
@Test public void getAutoExpireDate_shouldInferAutoExpireDateForScheduledDrugOrder() throws ParseException { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDateActivated(createDateTime("2014-07-01 00:00:00")); drugOrder.setScheduledDate(createDateTime("2014-07-05 00:00:00")); drugOrder.setUrgency(Order.Urgency.ON_SCHEDULED_DATE); drugOrder.setDuration(10); drugOrder.setDurationUnits(createUnits(Duration.SNOMED_CT_DAYS_CODE)); Date autoExpireDate = new SimpleDosingInstructions().getAutoExpireDate(drugOrder); assertEquals(createDateTime("2014-07-14 23:59:59"), autoExpireDate); }
/** * @see BaseOpenmrsObject#equals(Object) */ @Test public void equals_shouldReturnTrueIfGivenObjectIsSubclassOfSuperOrExtendingClass() { Order order = new Order(21); DrugOrder type = new DrugOrder(21); type.setUuid(order.getUuid()); Assert.assertTrue(type.equals(order)); Assert.assertTrue(order.equals(type)); }
private DrugOrder createValidDrugOrder() { DrugOrder drugOrder = new DrugOrder(); drugOrder.setDose(10.0); drugOrder.setDoseUnits(createConceptWithName("ml")); drugOrder.setRoute(createConceptWithName("IV")); OrderFrequency frequency = new OrderFrequency(); frequency.setConcept(createConceptWithName("Twice a day")); drugOrder.setFrequency(frequency); return drugOrder; }