@Test(expected = APIException.class) public void getActiveEncounterVisitHandler_shouldThrowIfBeanWithGivenTypeAndNameNotFound() { String incorrectBeanName = OpenmrsConstants.REGISTERED_COMPONENT_NAME_PREFIX + "invalidName"; GlobalProperty visitHandlerProperty = new GlobalProperty(OpenmrsConstants.GP_VISIT_ASSIGNMENT_HANDLER, incorrectBeanName); Context.getAdministrationService().saveGlobalProperty(visitHandlerProperty); Context.getEncounterService().getActiveEncounterVisitHandler(); }
/** * This method assigns a visit to a new encounter using the registered visit assignment handler * * @param encounter a new encounter */ private void createVisitForNewEncounter(Encounter encounter) { if (encounter.getEncounterId() == null) { //Am using Context.getEncounterService().getActiveEncounterVisitHandler() instead of just //getActiveEncounterVisitHandler() for modules which may want to AOP around this call. EncounterVisitHandler encounterVisitHandler = Context.getEncounterService().getActiveEncounterVisitHandler(); if (encounterVisitHandler != null) { encounterVisitHandler.beforeCreateEncounter(encounter); //If we have been assigned a new visit, persist it. if (encounter.getVisit() != null && encounter.getVisit().getVisitId() == null) { Context.getVisitService().saveVisit(encounter.getVisit()); } } } }
@Test public void getActiveEncounterVisitHandler_shouldReturnBeanHaveBeenRegisteredWithGivenName() { String correctBeanName = OpenmrsConstants.REGISTERED_COMPONENT_NAME_PREFIX + "existingOrNewVisitAssignmentHandler"; GlobalProperty visitHandlerProperty = new GlobalProperty(OpenmrsConstants.GP_VISIT_ASSIGNMENT_HANDLER, correctBeanName); Context.getAdministrationService().saveGlobalProperty(visitHandlerProperty); EncounterVisitHandler activeEncounterVisitHandler = Context.getEncounterService().getActiveEncounterVisitHandler(); Assert.assertNotNull(activeEncounterVisitHandler); }