/** * @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); }
/** * @throws Exception * @see DrugOrder#cloneForRevision() */ @Test public void cloneForRevision_shouldSetAllTheRelevantFields() throws Exception { DrugOrder drugOrder = new DrugOrder(); Drug drug = new Drug(); drug.setConcept(new Concept()); drugOrder.setDrug(drug); OrderTest.assertThatAllFieldsAreCopied(drugOrder, "cloneForRevision", "creator", "dateCreated", "action", "changedBy", "dateChanged", "voided", "dateVoided", "voidedBy", "voidReason", "encounter", "orderNumber", "orderer", "previousOrder", "dateActivated", "dateStopped", "accessionNumber"); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfTheConceptsMatchAndDrugsAreDifferentAndNotNull() { DrugOrder order = new DrugOrder(); Concept concept = new Concept(); Drug drug1 = new Drug(); drug1.setConcept(concept); order.setDrug(drug1); //should set concept DrugOrder otherOrder = new DrugOrder(); Drug drug2 = new Drug(); drug2.setConcept(concept); otherOrder.setDrug(drug2); //sanity check assertTrue(order.getConcept() != null && otherOrder.getConcept() != null); assertFalse(order.hasSameOrderableAs(otherOrder)); }
/** * @see DrugOrderValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldFailIfConceptIsNullAndCannotInferItFromDrug() { DrugOrder order = new DrugOrder(); Drug drug = Context.getConceptService().getDrug(3); drug.setConcept(null); order.setDrug(drug); Errors errors = new BindException(order, "order"); adminService.validate(order, errors); Assert.assertTrue(errors.hasFieldErrors("concept")); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfTheOtherOrderIsNotADrugOrder() { DrugOrder order = new DrugOrder(); Drug drug1 = new Drug(); Concept concept = new Concept(); drug1.setConcept(concept); order.setDrug(drug1); Order otherOrder = new Order(); otherOrder.setConcept(concept); assertFalse(order.hasSameOrderableAs(otherOrder)); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnTrueIfTheDrugsMatch() { DrugOrder order = new DrugOrder(); Concept concept = new Concept(); Drug drug1 = new Drug(); drug1.setConcept(concept); order.setDrug(drug1); DrugOrder otherOrder = new DrugOrder(); otherOrder.setDrug(drug1); assertTrue(order.hasSameOrderableAs(otherOrder)); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfTheConceptsMatchAndOnlyThisHasADrug() { DrugOrder order = new DrugOrder(); Concept concept = new Concept(); Drug drug1 = new Drug(); drug1.setConcept(concept); order.setDrug(drug1); DrugOrder otherOrder = new DrugOrder(); otherOrder.setConcept(concept); assertEquals(order.getConcept(), otherOrder.getConcept());//sanity check assertFalse(order.hasSameOrderableAs(otherOrder)); }
/** * @see DrugOrder#hasSameOrderableAs(Order) */ @Test public void hasSameOrderableAs_shouldReturnFalseIfTheConceptsMatchAndOnlyTheOtherHasADrug() { DrugOrder order = new DrugOrder(); Concept concept = new Concept(); order.setConcept(concept); DrugOrder otherOrder = new DrugOrder(); Drug drug1 = new Drug(); drug1.setConcept(concept); otherOrder.setDrug(drug1); //should set the concept assertEquals(order.getConcept(), otherOrder.getConcept());//sanity check assertFalse(order.hasSameOrderableAs(otherOrder)); }
/** * @see OrderService#saveOrder(org.openmrs.Order, OrderContext) */ @Test public void saveOrder_shouldFailIfTheExistingDrugOrderMatchesTheConceptAndNotDrugOfTheRevisedOrder() { final DrugOrder orderToDiscontinue = (DrugOrder) orderService.getOrder(5); //create a different test drug Drug discontinuationOrderDrug = new Drug(); discontinuationOrderDrug.setConcept(orderToDiscontinue.getConcept()); discontinuationOrderDrug = conceptService.saveDrug(discontinuationOrderDrug); assertNotEquals(discontinuationOrderDrug, orderToDiscontinue.getDrug()); assertNotNull(orderToDiscontinue.getDrug()); DrugOrder order = orderToDiscontinue.cloneForRevision(); order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); order.setDrug(discontinuationOrderDrug); expectedException.expect(EditedOrderDoesNotMatchPreviousException.class); expectedException.expectMessage("The orderable of the previous order and the new one order don't match"); orderService.saveOrder(order, null); }
/** * @see ObsValidator#validate(Object,Errors) */ @Test public void validate_shouldPassIfAnswerConceptAndConceptOfValueDrugMatch() { Obs obs = new Obs(); obs.setPerson(new Person(7)); obs.setObsDatetime(new Date()); Concept questionConcept = new Concept(100); ConceptDatatype dt = new ConceptDatatype(1); dt.setUuid(ConceptDatatype.CODED_UUID); questionConcept.setDatatype(dt); obs.setConcept(questionConcept); Concept answerConcept = new Concept(101); obs.setValueCoded(answerConcept); Drug drug = new Drug(); drug.setConcept(answerConcept); obs.setValueDrug(drug); Errors errors = new BindException(obs, "obs"); obsValidator.validate(obs, errors); assertFalse(errors.hasFieldErrors()); }
/** * @see ObsValidator#validate(Object,Errors) */ @Test public void validate_shouldRejectAnInvalidConceptAndDrugCombination() { Obs obs = new Obs(); obs.setPerson(new Person(7)); obs.setObsDatetime(new Date()); Concept questionConcept = new Concept(100); ConceptDatatype dt = new ConceptDatatype(1); dt.setUuid(ConceptDatatype.CODED_UUID); questionConcept.setDatatype(dt); obs.setConcept(questionConcept); obs.setValueCoded(new Concept(101)); Drug drug = new Drug(); drug.setConcept(new Concept(102)); obs.setValueDrug(drug); Errors errors = new BindException(obs, "obs"); obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("valueDrug")); }
/** * @see OrderService#saveOrder(org.openmrs.Order, OrderContext) */ @Test public void saveOrder_shouldFailIfTheExistingDrugOrderMatchesTheConceptAndNotDrugOfTheDCOrder() { final DrugOrder orderToDiscontinue = (DrugOrder) orderService.getOrder(5); assertTrue(OrderUtilTest.isActiveOrder(orderToDiscontinue, null)); //create a different test drug Drug discontinuationOrderDrug = new Drug(); discontinuationOrderDrug.setConcept(orderToDiscontinue.getConcept()); discontinuationOrderDrug = conceptService.saveDrug(discontinuationOrderDrug); assertNotEquals(discontinuationOrderDrug, orderToDiscontinue.getDrug()); assertNotNull(orderToDiscontinue.getDrug()); DrugOrder order = orderToDiscontinue.cloneForRevision(); order.setDateActivated(new Date()); order.setOrderer(providerService.getProvider(1)); order.setEncounter(encounterService.getEncounter(6)); order.setDrug(discontinuationOrderDrug); order.setOrderReasonNonCoded("Discontinue this"); expectedException.expect(EditedOrderDoesNotMatchPreviousException.class); expectedException.expectMessage("The orderable of the previous order and the new one order don't match"); orderService.saveOrder(order, null); }
/** * @see DrugOrder#cloneForDiscontinuing() */ @Test public void cloneForDiscontinuing_shouldSetAllTheRelevantFields() { DrugOrder order = new DrugOrder(); order.setPatient(new Patient()); order.setCareSetting(new CareSetting()); Drug drug = new Drug(); drug.setConcept(new Concept()); order.setDrug(drug); order.setOrderType(new OrderType()); DrugOrder dcOrder = order.cloneForDiscontinuing(); assertEquals(order.getDrug(), dcOrder.getDrug()); assertEquals(order.getPatient(), dcOrder.getPatient()); assertEquals(order.getConcept(), dcOrder.getConcept()); assertEquals("should set previous order to anOrder", order, dcOrder.getPreviousOrder()); assertEquals("should set new order action to new", dcOrder.getAction(), Order.Action.DISCONTINUE); assertEquals(order.getCareSetting(), dcOrder.getCareSetting()); assertEquals(order.getOrderType(), dcOrder.getOrderType()); }
drug.setConcept(unmappedConcept);