/** * @throws ParseException * @see ProviderService#getProviders(String, Integer, Integer, java.util.Map) */ @Test public void getProviders_shouldNotFindAnyProvidersIfNoneHaveGivenAttributeValues() throws ParseException { Map<ProviderAttributeType, Object> attributes = new HashMap<>(); attributes.put(service.getProviderAttributeType(1), new SimpleDateFormat("yyyy-MM-dd").parse("1411-04-25")); List<Provider> providers = service.getProviders("RobertClive", 0, null, attributes); Assert.assertEquals(0, providers.size()); }
/** * @throws ParseException * @see ProviderService#getProviders(String, Integer, Integer, java.util.Map) */ @Test public void getProviders_shouldGetAllProvidersWithGivenAttributeValues() throws ParseException { Map<ProviderAttributeType, Object> attributes = new HashMap<>(); attributes.put(service.getProviderAttributeType(1), new SimpleDateFormat("yyyy-MM-dd").parse("2011-04-25")); List<Provider> providers = service.getProviders("RobertClive", 0, null, attributes); Assert.assertEquals(1, providers.size()); Assert.assertEquals(Integer.valueOf(1), providers.get(0).getProviderId()); }
private ProviderAttribute makeAttribute(String serializedValue) { ProviderAttribute attr = new ProviderAttribute(); attr.setAttributeType(providerService.getProviderAttributeType(1)); attr.setValueReferenceInternal(serializedValue); return attr; }
/** * @see ProviderService#purgeProviderAttributeType(ProviderAttributeType) */ @Test public void purgeProviderAttributeType_shouldDeleteAProviderAttributeType() { int size = service.getAllProviderAttributeTypes().size(); ProviderAttributeType providerAttributeType = service.getProviderAttributeType(2); service.purgeProviderAttributeType(providerAttributeType); assertEquals(size - 1, service.getAllProviderAttributeTypes().size()); }
/** * @see ProviderService#getProviderAttributeType(Integer) */ @Test public void getProviderAttributeType_shouldGetProviderAttributeTypeForTheGivenId() { ProviderAttributeType providerAttributeType = service.getProviderAttributeType(1); assertEquals("Audit Date", providerAttributeType.getName()); assertEquals("9516cc50-6f9f-11e0-8414-001e378eb67e", providerAttributeType.getUuid()); }
/** * @see ProviderService#unretireProviderAttributeType(ProviderAttributeType) */ @Test public void unretireProviderAttributeType_shouldUnretireAProviderAttributeType() { ProviderAttributeType providerAttributeType = service.getProviderAttributeType(2); assertTrue(providerAttributeType.getRetired()); service.unretireProviderAttributeType(providerAttributeType); assertFalse(providerAttributeType.getRetired()); assertNull(providerAttributeType.getRetireReason()); }
/** * @see ProviderService#retireProviderAttributeType(ProviderAttributeType,String) */ @Test public void retireProviderAttributeType_shouldRetireProviderTypeAttribute() { ProviderAttributeType providerAttributeType = service.getProviderAttributeType(1); assertFalse(providerAttributeType.getRetired()); assertNull(providerAttributeType.getRetireReason()); assertEquals(2, service.getAllProviderAttributeTypes(false).size()); service.retireProviderAttributeType(providerAttributeType, "retire reason"); assertTrue(providerAttributeType.getRetired()); assertEquals("retire reason", providerAttributeType.getRetireReason()); assertEquals(1, service.getAllProviderAttributeTypes(false).size()); }
/** * @see org.openmrs.BaseCustomizableMetadata#setAttribute(org.openmrs.attribute.Attribute) */ @Test public void setAttribute_shouldVoidTheAttributeIfAnAttributeWithSameAttributeTypeAlreadyExistsAndTheMaxOccursIsSetTo1() { Provider provider = new Provider(); provider.setIdentifier("test"); provider.setPerson(newPerson("name")); ProviderAttributeType place = service.getProviderAttributeType(3); provider.setAttribute(buildProviderAttribute(place, "bangalore")); provider.setAttribute(buildProviderAttribute(place, "chennai")); Assert.assertEquals(1, provider.getAttributes().size()); service.saveProvider(provider); Assert.assertNotNull(provider.getId()); provider.setAttribute(buildProviderAttribute(place, "seattle")); Assert.assertEquals(2, provider.getAttributes().size()); ProviderAttribute lastAttribute = (ProviderAttribute) provider.getAttributes().toArray()[0]; Assert.assertTrue(lastAttribute.getVoided()); }
/** * @see org.openmrs.BaseCustomizableMetadata#setAttribute(org.openmrs.attribute.Attribute) */ @Test public void setAttribute_shouldWorkForAttriubutesWithDatatypesWhoseValuesAreStoredInOtherTables() { Provider provider = new Provider(); provider.setIdentifier("test"); provider.setPerson(newPerson("name")); ProviderAttributeType cv = service.getProviderAttributeType(4); provider.setAttribute(buildProviderAttribute(cv, "Worked lots of places...")); service.saveProvider(provider); Context.flushSession(); Assert.assertNotNull(provider.getId()); Assert.assertEquals(1, provider.getAttributes().size()); provider.setAttribute(buildProviderAttribute(cv, "Worked even more places...")); service.saveProvider(provider); Assert.assertEquals(2, provider.getAttributes().size()); ProviderAttribute lastAttribute = (ProviderAttribute) provider.getAttributes().toArray()[0]; Assert.assertTrue(lastAttribute.getVoided()); }
/** * @see ProviderValidator#validate(Object, Errors) */ @Test public void validate_shouldRejectAProviderIfItHasFewerThanMinOccursOfAnAttribute() { provider.setId(null); provider.setPerson(null); executeDataSet(PROVIDER_ATTRIBUTE_TYPES_XML); ProviderAttributeType attributeType = providerService.getProviderAttributeType(1); attributeType.setMinOccurs(2); attributeType.setMaxOccurs(3); providerService.saveProviderAttributeType(attributeType); provider.addAttribute(makeAttribute("one")); Errors errors = new BindException(provider, "provider"); new ProviderValidator().validate(provider, errors); Assert.assertTrue(errors.hasFieldErrors("activeAttributes")); }
/** * @see ProviderAttributeTypeController#updateProviderAttributeType(ProviderAttributeType,SimpleObject,WebRequest) * @verifies change a property on a provider */ @Test public void updateProviderAttributeType_shouldChangeAPropertyOnAProviderAttributeType() throws Exception { String json = "{\"description\":\"Updated description\"}"; handle(newPostRequest(getURI() + "/" + RestTestConstants1_9.PROVIDER_ATTRIBUTE_TYPE_UUID, json)); Assert.assertEquals("Updated description", Context.getProviderService().getProviderAttributeType(1).getDescription()); }
/** * @see ProviderAttributeTypeController#retireProviderAttributeType(ProviderAttributeType,String,WebRequest) * @verifies void a provider attribute type */ @Test public void retireProviderAttributeType_shouldRetireAProviderAttributeType() throws Exception { ProviderAttributeType providerAttributeType = Context.getProviderService().getProviderAttributeType(1); Assert.assertFalse(providerAttributeType.isRetired()); MockHttpServletRequest request = request(RequestMethod.DELETE, getURI() + "/" + getUuid()); request.addParameter("reason", "test"); handle(request); providerAttributeType = Context.getProviderService().getProviderAttributeType(1); Assert.assertTrue(providerAttributeType.isRetired()); Assert.assertEquals("test", providerAttributeType.getRetireReason()); }