/** * @see org.openmrs.api.ConceptService#retireConcept(org.openmrs.Concept, java.lang.String) */ @Override public Concept retireConcept(Concept concept, String reason) throws APIException { if (!StringUtils.hasText(reason)) { throw new IllegalArgumentException(Context.getMessageSourceService().getMessage("general.voidReason.empty")); } // only do this if the concept isn't retired already if (!concept.getRetired()) { checkIfLocked(); concept.setRetired(true); concept.setRetireReason(reason); return dao.saveConcept(concept); } return concept; }
@Test public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { concept.addName(new ConceptName("CD4", Context.getLocale())); concept.addDescription(new ConceptDescription("some description",null)); concept.setConceptClass(new ConceptClass()); concept.setDatatype(new ConceptDatatype()); concept.setVersion("too long text too long text too long text too long text"); concept .setRetireReason("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); validator.validate(concept, errors); assertThat(errors, hasFieldErrors("version", "error.exceededMaxLengthOfField")); assertThat(errors, hasFieldErrors("retireReason", "error.exceededMaxLengthOfField")); }
originalConcept.setRetiredBy(user); originalConcept.setDateRetired(date); originalConcept.setRetireReason("test");
@Test public void validate_shouldPassValidationIfFieldLengthsAreCorrect() { concept.addName(new ConceptName("CD4", Context.getLocale())); concept.addDescription(new ConceptDescription("some description",null)); concept.setVersion("version"); concept.setRetireReason("retireReason"); concept.setConceptClass(new ConceptClass()); concept.setDatatype(new ConceptDatatype()); validator.validate(concept, errors); Assert.assertFalse(errors.hasErrors()); }