List of usage examples for org.springframework.web.servlet ModelAndView getModel
public Map<String, Object> getModel()
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * Test adding a concept with a preferred name, short name, description and synonyms. * /* w ww . j a v a 2 s .c om*/ * @throws Exception */ @Test public void shouldUpdateConceptWithNameAlreadyInSynonymList() throws Exception { final String EXPECTED_PREFERRED_NAME = "no such concept"; final String EXPECTED_SHORT_NAME = "nonesuch"; final String EXPECTED_DESCRIPTION = "this is not really a concept"; final String EXPECTED_SYNONYM_A = "phantom"; final String EXPECTED_SYNONYM_B = EXPECTED_PREFERRED_NAME; final String EXPECTED_SYNONYM_C = "mock"; ConceptService cs = Context.getConceptService(); // make sure the concept doesn't already exist Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME); assertNull(conceptToAdd); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A); mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B); mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C); mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME); mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION); mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME); mockRequest.setParameter("concept.datatype", "1"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, response); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME); assertNotNull(actualConcept); Collection<ConceptName> actualNames = actualConcept.getNames(); assertEquals(4, actualNames.size()); assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName()); assertNotNull(actualConcept.getShortNameInLocale(britishEn)); assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * Test adding a concept with a preferred name, short name, description and synonyms. * //from w ww . ja v a2 s. c o m * @throws Exception */ @Test public void shouldUpdateConceptWithShortNameAlreadyInSynonymList() throws Exception { final String EXPECTED_PREFERRED_NAME = "no such concept"; final String EXPECTED_SHORT_NAME = "nonesuch"; final String EXPECTED_DESCRIPTION = "this is not really a concept"; final String EXPECTED_SYNONYM_A = "phantom"; final String EXPECTED_SYNONYM_B = EXPECTED_SHORT_NAME; final String EXPECTED_SYNONYM_C = "mock"; ConceptService cs = Context.getConceptService(); // make sure the concept doesn't already exist Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME); assertNull(conceptToAdd); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A); mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B); mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C); mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME); mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION); mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME); mockRequest.setParameter("concept.datatype", "1"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, response); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME); assertNotNull(actualConcept); Collection<ConceptName> actualNames = actualConcept.getNames(); assertEquals(4, actualNames.size()); assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName()); assertNotNull(actualConcept.getShortNameInLocale(britishEn)); assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * This tests removing a concept set/*from w w w .j ava2s . c o m*/ * * @throws Exception */ @Test public void shouldRemoveConceptSet() throws Exception { ConceptService cs = Context.getConceptService(); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "23"); mockRequest.setParameter("namesByLocale[en_GB].name", "FOOD CONSTRUCT"); mockRequest.setParameter("concept.datatype", "4"); mockRequest.setParameter("concept.class", "10"); mockRequest.setParameter("concept.conceptSets", "18 19"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept concept = cs.getConcept(23); assertNotNull(concept); assertEquals(2, concept.getConceptSets().size()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * This tests removing an answer//from w w w . j ava2 s. c o m * * @throws Exception */ @Test public void shouldRemoveConceptAnswer() throws Exception { ConceptService cs = Context.getConceptService(); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "21"); mockRequest.setParameter("namesByLocale[en_GB].name", "FOOD ASSISTANCE FOR ENTIRE FAMILY"); mockRequest.setParameter("concept.datatype", "2"); mockRequest.setParameter("concept.class", "7"); mockRequest.setParameter("concept.answers", "7 8"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept concept = cs.getConcept(21); assertNotNull(concept); assertEquals(2, concept.getAnswers(false).size()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * This test makes sure that all answers are deleted if the user changes this concept's datatype * to something other than "Coded"/*w ww .j a va2 s . c om*/ * * @throws Exception */ @Test public void shouldRemoveConceptAnswersIfDatatypeChangedFromCoded() throws Exception { ConceptService cs = Context.getConceptService(); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "4"); // this must be a concept id that is not used in an observation in order to be changed mockRequest.setParameter("namesByLocale[en_GB].name", "CIVIL STATUS"); mockRequest.setParameter("concept.datatype", "1"); // set it to something other than "Coded" mockRequest.setParameter("concept.class", "10"); mockRequest.setParameter("concept.answers", "5 6"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept concept = cs.getConcept(4); assertNotNull(concept); assertEquals(0, concept.getAnswers(false).size()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException) *///from w w w . j a v a 2s . c o m @Test @Verifies(value = "should set the local preferred name", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)") public void onSubmit_shouldSetTheLocalPreferredName() throws Exception { ConceptService cs = Context.getConceptService(); Concept concept = cs.getConcept(5497); //sanity check, the current preferred Name should be different from what will get set in the form Assert.assertNotSame("CD3+CD4+ABS CNT", concept.getPreferredName(britishEn).getName()); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "5497"); mockRequest.setParameter("preferredNamesByLocale[en_GB]", "CD3+CD4+ABS CNT"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Assert.assertEquals("CD3+CD4+ABS CNT", concept.getPreferredName(britishEn).getName()); //preferred name should be the new one that has been set from the form Assert.assertEquals(true, concept.getPreferredName(britishEn).isLocalePreferred()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException) */// ww w . j a v a2 s . c om @Test @Verifies(value = "should void a synonym marked as preferred when it is removed", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)") public void onSubmit_shouldVoidASynonymMarkedAsPreferredWhenItIsRemoved() throws Exception { ConceptService cs = Context.getConceptService(); Concept concept = cs.getConcept(5497); //mark one of the synonyms as preferred ConceptName preferredName = new ConceptName("pref name", britishEn); preferredName.setLocalePreferred(true); concept.addName(preferredName); cs.saveConcept(concept); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "5497"); //remove the synonym that is marked as preferred mockRequest.setParameter("synonymsByLocale[en_GB][0].voided", "true"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Assert.assertEquals(true, preferredName.isVoided()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * Test adding a concept with a preferred name, short name, description and synonyms. * //from w ww . jav a 2s. co m * @throws Exception */ @Test public void shouldReplacePreviousDescription() throws Exception { final String EXPECTED_PREFERRED_NAME = "no such concept"; final String EXPECTED_SHORT_NAME = "nonesuch"; final String ORIGINAL_DESCRIPTION = "this is indescribable"; final String EXPECTED_DESCRIPTION = "this is not really a concept"; final String EXPECTED_SYNONYM_A = "phantom"; final String EXPECTED_SYNONYM_B = EXPECTED_SHORT_NAME; final String EXPECTED_SYNONYM_C = "mock"; ConceptService cs = Context.getConceptService(); // first, add the concept with an original description Concept conceptToUpdate = new Concept(); conceptToUpdate.addName(new ConceptName("demo name", Context.getLocale())); ConceptDescription originalConceptDescription = new ConceptDescription(); originalConceptDescription.setLocale(britishEn); originalConceptDescription.setDescription(ORIGINAL_DESCRIPTION); conceptToUpdate.addDescription(originalConceptDescription); cs.saveConcept(conceptToUpdate); // then submit changes through the controller ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A); mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B); mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C); mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME); mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION); mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME); mockRequest.setParameter("concept.datatype", "1"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, response); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME); assertNotNull(actualConcept); assertNotNull(actualConcept.getDescription(britishEn)); assertEquals(EXPECTED_DESCRIPTION, actualConcept.getDescription(britishEn).getDescription()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * This test makes sure that ConceptComplex objects can be edited * // w w w . j a v a 2 s . c om * @throws Exception */ @Test public void shouldEditConceptComplex() throws Exception { executeDataSet("org/openmrs/api/include/ObsServiceTest-complex.xml"); ConceptService cs = Context.getConceptService(); ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", "8473"); mockRequest.setParameter("namesByLocale[en_GB].name", "A complex concept"); mockRequest.setParameter("descriptionsByLocale[en_GB].description", "some description"); mockRequest.setParameter("concept.datatype", "13"); mockRequest.setParameter("concept.class", "5"); mockRequest.setParameter("handlerKey", "TextHandler"); // switching it from an ImageHandler to a TextHandler ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept concept = cs.getConcept(8473); assertEquals(ConceptComplex.class, concept.getClass()); ConceptComplex complex = (ConceptComplex) concept; assertEquals("TextHandler", complex.getHandler()); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * @verifies should add new concept attributes * @throws Exception/*from w ww .j a v a2 s. c o m*/ */ @Test public void shouldSaveConceptAttribute() throws Exception { executeDataSet(CONCEPT_ATTRIBUTES_XML); ConceptService cs = Context.getConceptService(); ConceptAttributeType conceptAttributeType = cs.getConceptAttributeType(1); final Integer conceptId = 5089; ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("POST"); mockRequest.setParameter("action", ""); mockRequest.setParameter("conceptId", conceptId.toString()); mockRequest.setParameter("attribute." + conceptAttributeType.getId() + ".new[1]", "2014-03-12"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); assertTrue(mav.getModel().isEmpty()); Concept actualConcept = cs.getConcept(conceptId); assertNotNull(actualConcept); final Collection<ConceptAttribute> attributes = actualConcept.getAttributes(); assertEquals(1, attributes.size()); final ConceptAttribute conceptAttribute = attributes.iterator().next(); assertEquals("2014-03-12", conceptAttribute.getValueReference()); }