/** * @see org.openmrs.api.PersonService#getPersonAttributeTypeByName(java.lang.String) */ @Override @Transactional(readOnly = true) public PersonAttributeType getPersonAttributeTypeByName(String typeName) throws APIException { List<PersonAttributeType> types = Context.getPersonService().getPersonAttributeTypes(typeName, null, null, null); if (types.isEmpty()) { return null; } else { return types.get(0); } }
@Test public void getPersonAttributeTypes_shouldReturnEmptyListWhenViewTypeListingAndPerson() { List<PersonAttributeType> result = personService.getPersonAttributeTypes(OpenmrsConstants.PERSON_TYPE.PERSON, PersonService.ATTR_VIEW_TYPE.LISTING); assertTrue(result.isEmpty()); } @Test
@Test public void getPersonAttributeTypes_shouldReturnEmptyListWithViewTypeListing() { List<PersonAttributeType> result = personService.getPersonAttributeTypes(null, PersonService.ATTR_VIEW_TYPE.LISTING); assertTrue(result.isEmpty()); }
@Test public void getPersonAttributeTypes_shouldReturnEmptyListWhenViewTypePatientAndViewing() { List<PersonAttributeType> result = personService.getPersonAttributeTypes(OpenmrsConstants.PERSON_TYPE.PATIENT, PersonService.ATTR_VIEW_TYPE.VIEWING); assertTrue(result.isEmpty()); }
@Test public void getPersonAttributeTypes_shouldReturnAllPersonAttributeTypesWithViewTypeNull() { List<PersonAttributeType> expected = personService.getAllPersonAttributeTypes(); List<PersonAttributeType> result = personService.getPersonAttributeTypes(null, null); assertThat(result, containsInAnyOrder(expected.toArray())); }
@Test public void getPersonAttributeTypes_shouldReturnPatientAttributesWhenGivenViewTypeListing() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_LISTING_ATTRIBUTES, "1"); PersonAttributeType race = personService.getPersonAttributeType(1); List<PersonAttributeType> result = personService.getPersonAttributeTypes(null, PersonService.ATTR_VIEW_TYPE.LISTING); assertThat(result, contains(race)); assertEquals(result.size(), 1); }
@Test public void getPersonAttributeTypes_shouldReturnUserAttributesWhenViewTypeHeaderAndUser() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_HEADER_ATTRIBUTES, "1"); adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_USER_HEADER_ATTRIBUTES, "2"); PersonAttributeType birthplace = personService.getPersonAttributeType(2); List<PersonAttributeType> result = personService.getPersonAttributeTypes(OpenmrsConstants.PERSON_TYPE.USER, PersonService.ATTR_VIEW_TYPE.HEADER); assertThat(result, contains(birthplace)); assertEquals(result.size(), 1); } }
@Test public void getPersonAttributeTypes_shouldReturnPatientAttributesWhenViewTypeViewingAndPatient() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_VIEWING_ATTRIBUTES, "1"); adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_USER_VIEWING_ATTRIBUTES, "2"); PersonAttributeType race = personService.getPersonAttributeType(1); List<PersonAttributeType> result = personService.getPersonAttributeTypes(OpenmrsConstants.PERSON_TYPE.PATIENT, PersonService.ATTR_VIEW_TYPE.VIEWING); assertThat(result, contains(race)); assertEquals(result.size(), 1); }
/** * @see PersonService#getPersonAttributeTypes(String,String,Integer,Boolean) */ @Test public void getPersonAttributeTypes_shouldReturnPersonAttributeTypesMatchingGivenParameters() throws Exception { executeDataSet("org/openmrs/api/include/PersonServiceTest-createRetiredPersonAttributeType.xml"); List<PersonAttributeType> attributeTypes = Context.getPersonService().getPersonAttributeTypes( "A nonexistent attr type name", null, null, null); Assert.assertNotNull(attributeTypes); assertTrue("Number of matched attribute type is 0", attributeTypes.isEmpty()); attributeTypes = Context.getPersonService().getPersonAttributeTypes(null, "org.openmrs.Concept", null, null); Assert.assertNotNull(attributeTypes); assertTrue("Number of matched attribute type is 1", attributeTypes.size() == 1); attributeTypes = Context.getPersonService().getPersonAttributeTypes(null, null, null, false); Assert.assertNotNull(attributeTypes); assertTrue("Number of matched attribute type is 6", attributeTypes.size() == 6); }
@Test public void getPersonAttributeTypes_shouldReturnListWithNullWhenGlobalPropertyNotExists() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_LISTING_ATTRIBUTES, "9"); assertNull(personService.getPersonAttributeType(9)); List<PersonAttributeType> result = personService.getPersonAttributeTypes(null, PersonService.ATTR_VIEW_TYPE.LISTING); // This is a bug Trunk-5149 assertEquals(result.size(), 1); assertNull(result.get(0)); }
/** * @see PersonService#getPersonAttributeTypes(String,String,Integer,Boolean) */ @Test public void getPersonAttributeTypes_shouldReturnEmptyListWhenNoPersonAttributeTypesMatchGivenParameters() throws Exception { executeDataSet("org/openmrs/api/include/PersonServiceTest-createRetiredPersonAttributeType.xml"); List<PersonAttributeType> attributeTypes = Context.getPersonService().getPersonAttributeTypes( "A non-existent attr type name", "java.lang.String", null, false); Assert.assertNotNull(attributeTypes); assertTrue("Should return empty list", attributeTypes.isEmpty()); }
@Test public void getPersonAttributeTypes_shouldReturnNothingWhenGlobalPropertyLargerNineExists() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_LISTING_ATTRIBUTES, "99"); executeDataSet(CREATE_PERSON_PROPERTY_XML); assertNotNull(personService.getPersonAttributeType(99)); List<PersonAttributeType> result = personService.getPersonAttributeTypes(null, PersonService.ATTR_VIEW_TYPE.LISTING); // This is probably a bug TRUNK-5148 assertEquals(result.size(), 1); assertNull(result.get(0)); }
@Test public void getPersonAttributeTypes_shouldReturnUserAndPatientAttributesWhenViewTypeListiningAndPerson() { adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_LISTING_ATTRIBUTES, "1"); adminService.setGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_USER_LISTING_ATTRIBUTES, "2"); PersonAttributeType race = personService.getPersonAttributeType(1); PersonAttributeType birthplace = personService.getPersonAttributeType(2); List<PersonAttributeType> result = personService.getPersonAttributeTypes(OpenmrsConstants.PERSON_TYPE.PERSON, PersonService.ATTR_VIEW_TYPE.LISTING); assertThat(result, contains(race, birthplace)); assertEquals(result.size(), 2); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingCrudResource#doSearch(org.openmrs.module.webservices.rest.web.RequestContext) */ @Override protected NeedsPaging<PersonAttributeType> doSearch(RequestContext context) { return new NeedsPaging<PersonAttributeType>(service().getPersonAttributeTypes(context.getParameter("q"), null, null, null), context); }