diff --git a/api/src/test/java/org/openmrs/validator/AllergyValidatorTest.java b/api/src/test/java/org/openmrs/validator/AllergyValidatorTest.java index 9b1d57d03eb3..60732089149a 100644 --- a/api/src/test/java/org/openmrs/validator/AllergyValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/AllergyValidatorTest.java @@ -18,6 +18,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; @@ -190,5 +191,6 @@ public void validate_shouldRejectNumericReactionValue() { Errors errors = new BindException(allergy, "allergy"); validator.validate(allergy, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("allergyapi.patient.required")); } } diff --git a/api/src/test/java/org/openmrs/validator/ConceptClassValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptClassValidatorTest.java index 9f39821749e1..aee998916293 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptClassValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptClassValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptClass; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -35,16 +37,19 @@ public void validate_shouldFailValidationIfUserIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(cc, "cc"); new ConceptClassValidator().validate(cc, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); cc.setName(""); errors = new BindException(cc, "cc"); new ConceptClassValidator().validate(cc, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); cc.setName(" "); errors = new BindException(cc, "cc"); new ConceptClassValidator().validate(cc, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } @Test @@ -97,6 +102,7 @@ public void validate_shouldFailValidationIfConceptClassNameAlreadyExist() { new ConceptClassValidator().validate(cc, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("conceptclass.duplicate.name")); } /** @@ -132,7 +138,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new ConceptClassValidator().validate(cc, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ConceptDatatypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptDatatypeValidatorTest.java index 9f95b228fbab..901728beb5a4 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptDatatypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptDatatypeValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptDatatype; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -35,16 +37,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(cd, "cd"); new ConceptDatatypeValidator().validate(cd, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); cd.setName(""); errors = new BindException(cd, "cd"); new ConceptDatatypeValidator().validate(cd, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); cd.setName(" "); errors = new BindException(cd, "cd"); new ConceptDatatypeValidator().validate(cd, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -121,8 +126,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new ConceptDatatypeValidator().validate(cd, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("hl7Abbreviation")); + assertThat(errors.getFieldErrors("hl7Abbreviation").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ConceptDrugValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptDrugValidatorTest.java index adf42156a497..4de89262b741 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptDrugValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptDrugValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.Drug; import org.springframework.validation.BindException; @@ -31,6 +33,7 @@ public void validate_shouldFailIfAConceptIsNotSpecified() { Errors errors = new BindException(drug, "drug"); new ConceptDrugValidator().validate(drug, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("ConceptDrug.error.conceptRequired")); } /** diff --git a/api/src/test/java/org/openmrs/validator/ConceptMapTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptMapTypeValidatorTest.java index 19628f677e4f..996a3c1b049e 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptMapTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptMapTypeValidatorTest.java @@ -9,10 +9,12 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptMapType; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -34,6 +36,7 @@ public void validate_shouldFailIfTheConceptMapTypeNameIsADuplicate() { Errors errors = new BindException(mapType, "mapType"); new ConceptMapTypeValidator().validate(mapType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("ConceptMapType.duplicate.name")); } /** @@ -55,6 +58,7 @@ public void validate_shouldFailIfTheNameIsAWhiteSpaceCharacter() { Errors errors = new BindException(mapType, "mapType"); new ConceptMapTypeValidator().validate(mapType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("ConceptMapType.error.nameRequired")); } /** @@ -67,6 +71,7 @@ public void validate_shouldFailIfTheNameIsAnEmptyString() { Errors errors = new BindException(mapType, "mapType"); new ConceptMapTypeValidator().validate(mapType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("ConceptMapType.error.nameRequired")); } /** @@ -78,6 +83,7 @@ public void validate_shouldFailIfTheNameIsNull() { Errors errors = new BindException(mapType, "mapType"); new ConceptMapTypeValidator().validate(mapType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("ConceptMapType.error.nameRequired")); } /** @@ -120,6 +126,9 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(mapType, "mapType"); new ConceptMapTypeValidator().validate(mapType, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ConceptNameTagValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptNameTagValidatorTest.java index 47c34a69972f..24177c962bbb 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptNameTagValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptNameTagValidatorTest.java @@ -9,11 +9,13 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptNameTag; import org.openmrs.api.context.Context; @@ -44,16 +46,19 @@ public void validate_shouldFailValidationIfTagIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(cnt, "cnt"); new ConceptNameTagValidator().validate(cnt, errors); assertTrue(errors.hasFieldErrors("tag")); + assertThat(errors.getFieldErrors("tag").get(0).getCode(), Matchers.is("error.name")); cnt.setTag(""); errors = new BindException(cnt, "cnt"); new ConceptNameTagValidator().validate(cnt, errors); assertTrue(errors.hasFieldErrors("tag")); + assertThat(errors.getFieldErrors("tag").get(0).getCode(), Matchers.is("error.name")); cnt.setTag(" "); errors = new BindException(cnt, "cnt"); new ConceptNameTagValidator().validate(cnt, errors); assertTrue(errors.hasFieldErrors("tag")); + assertThat(errors.getFieldErrors("tag").get(0).getCode(), Matchers.is("error.name")); } /** @@ -86,6 +91,7 @@ public void validate_shouldFailIfTheConceptNameTagIsADuplicate() { new ConceptNameTagValidator().validate(cnt, errors); assertTrue(errors.hasErrors()); assertTrue(errors.hasFieldErrors("tag")); + assertThat(errors.getFieldErrors("tag").get(0).getCode(), Matchers.is("Concept.name.tag.duplicate")); } /** @@ -118,7 +124,10 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(cnt, "cnt"); new ConceptNameTagValidator().validate(cnt, errors); assertTrue(errors.hasFieldErrors("tag")); + assertThat(errors.getFieldErrors("tag").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/ConceptReferenceTermValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptReferenceTermValidatorTest.java index 796664704005..63cdac4d27f3 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptReferenceTermValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptReferenceTermValidatorTest.java @@ -9,6 +9,7 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -16,6 +17,7 @@ import java.util.LinkedHashSet; import java.util.Set; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.openmrs.ConceptMapType; @@ -44,6 +46,7 @@ public void validate_shouldFailIfTheCodeIsAWhiteSpaceCharacter() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("code")); + assertThat(errors.getFieldErrors("code").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.codeRequired")); } /** @@ -58,6 +61,7 @@ public void validate_shouldFailIfTheCodeIsAnEmptyString() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("code")); + assertThat(errors.getFieldErrors("code").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.codeRequired")); } /** @@ -71,6 +75,7 @@ public void validate_shouldFailIfTheCodeIsNull() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("code")); + assertThat(errors.getFieldErrors("code").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.codeRequired")); } /** @@ -85,6 +90,7 @@ public void validate_shouldFailIfTheConceptReferenceTermCodeIsADuplicateInItsCon Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("code")); + assertThat(errors.getFieldErrors("code").get(0).getCode(), Matchers.is("ConceptReferenceTerm.duplicate.code")); } /** @@ -107,6 +113,7 @@ public void validate_shouldFailIfTheConceptSourceIsNull() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("conceptSource")); + assertThat(errors.getFieldErrors("conceptSource").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.sourceRequired")); } /** @@ -123,6 +130,7 @@ public void validate_shouldFailIfTheNameIsAWhiteSpaceCharacter() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("Condition.clinicalStatusShouldNotBeNull")); } /** @@ -138,6 +146,7 @@ public void validate_shouldFailIfTheNameIsAnEmptyString() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("Condition.clinicalStatusShouldNotBeNull")); } /** @@ -152,6 +161,7 @@ public void validate_shouldFailIfTheNameIsNull() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("Condition.clinicalStatusShouldNotBeNull")); } /** @@ -211,6 +221,7 @@ public void validate_shouldFailIfAConceptReferenceTermMapHasNoConceptMapType() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("conceptReferenceTermMaps[0].conceptMapType")); + assertThat(errors.getFieldErrors("conceptReferenceTermMaps[0].conceptMapType").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.mapTypeRequired")); } /** @@ -228,6 +239,7 @@ public void validate_shouldFailIfTermBOfAConceptReferenceTermMapIsNotSet() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("conceptReferenceTermMaps[0].termB")); + assertThat(errors.getFieldErrors("conceptReferenceTermMaps[0].termB").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.termBRequired")); } /** @@ -243,6 +255,7 @@ public void validate_shouldFailIfATermIsMappedToItself() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("conceptReferenceTermMaps[0].termB")); + assertThat(errors.getFieldErrors("conceptReferenceTermMaps[0].termB").get(0).getCode(), Matchers.is("ConceptReferenceTerm.map.sameTerm")); } /** @@ -266,6 +279,7 @@ public void validate_shouldFailIfATermIsMappedMultipleTimesToTheSameTerm() { //the term for second mapping should be rejected assertTrue(errors.hasFieldErrors("conceptReferenceTermMaps[1].termB")); + assertThat(errors.getFieldErrors("conceptReferenceTermMaps[1].termB").get(0).getCode(), Matchers.is("ConceptReferenceTerm.termToTerm.alreadyMapped")); } /** @@ -305,10 +319,19 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(term, "term"); new ConceptReferenceTermValidator().validate(term, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("code")); + assertThat(errors.getFieldErrors("code").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("version")); + assertThat(errors.getFieldErrors("version").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/ConceptSourceValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConceptSourceValidatorTest.java index 82e3a216c586..61942de78673 100644 --- a/api/src/test/java/org/openmrs/validator/ConceptSourceValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConceptSourceValidatorTest.java @@ -9,10 +9,12 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.commons.lang3.StringUtils; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptSource; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -33,16 +35,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); conceptSource.setName(""); errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); conceptSource.setName(" "); errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -58,16 +63,19 @@ public void validate_shouldFailValidationIfDescriptionIsNullOrEmptyOrWhitespace( Errors errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.null")); conceptSource.setDescription(""); errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.null")); conceptSource.setDescription(" "); errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.null")); } @Test @@ -127,9 +135,18 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(conceptSource, "conceptSource"); new ConceptSourceValidator().validate(conceptSource, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("hl7Code")); + assertThat(errors.getFieldErrors("hl7Code").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("uniqueId")); + assertThat(errors.getFieldErrors("uniqueId").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ConditionValidatorTest.java b/api/src/test/java/org/openmrs/validator/ConditionValidatorTest.java index 24bf10a6b2e9..169fe5915cdb 100644 --- a/api/src/test/java/org/openmrs/validator/ConditionValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ConditionValidatorTest.java @@ -17,6 +17,7 @@ import java.util.Locale; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openmrs.CodedOrFreeText; @@ -66,7 +67,10 @@ public void shouldFailIfGivenConditionWithNullConditionProperties(){ Condition condition = new Condition(); validator.validate(condition, errors); assertTrue(errors.hasFieldErrors("condition")); + assertThat(errors.getFieldErrors("condition").get(0).getCode(), Matchers.is("Condition.conditionShouldNotBeNull")); + assertTrue(errors.hasFieldErrors("clinicalStatus")); + assertThat(errors.getFieldErrors("clinicalStatus").get(0).getCode(), Matchers.is("Condition.clinicalStatusShouldNotBeNull")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/DiagnosisValidatorTest.java b/api/src/test/java/org/openmrs/validator/DiagnosisValidatorTest.java index 8149bef62a6c..35f7e554c358 100644 --- a/api/src/test/java/org/openmrs/validator/DiagnosisValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/DiagnosisValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openmrs.CodedOrFreeText; @@ -44,13 +46,16 @@ public void validate_shouldFailValidationIfEncounterIsNull(){ diagnosis.setEncounter(null); new DiagnosisValidator().validate(diagnosis, errors); assertTrue(errors.hasFieldErrors("encounter")); + assertThat(errors.getFieldErrors("encounter").get(0).getCode(), Matchers.is("error.null")); } + @Test public void validate_shouldFailValidationIfDiagnosisIsNull(){ diagnosis.setDiagnosis(null); new DiagnosisValidator().validate(diagnosis, errors); assertTrue(errors.hasFieldErrors("diagnosis")); + assertThat(errors.getFieldErrors("diagnosis").get(0).getCode(), Matchers.is("error.null")); } @Test @@ -59,6 +64,7 @@ public void validate_shouldFailValidationIfCertaintyIsNull(){ new DiagnosisValidator().validate(diagnosis, errors); assertTrue(errors.hasFieldErrors("certainty")); + assertThat(errors.getFieldErrors("certainty").get(0).getCode(), Matchers.is("error.null")); } @Test @@ -67,6 +73,7 @@ public void validate_shouldFailValidationIfRankIsNull(){ new DiagnosisValidator().validate(diagnosis, errors); assertTrue(errors.hasFieldErrors("rank")); + assertThat(errors.getFieldErrors("rank").get(0).getCode(), Matchers.is("error.null")); } @Test @@ -75,6 +82,7 @@ public void validate_shouldFailValidationIfRankIsNonPositive(){ new DiagnosisValidator().validate(diagnosis, errors); assertTrue(errors.hasFieldErrors("rank")); + assertThat(errors.getFieldErrors("rank").get(0).getCode(), Matchers.is("error.rank.notPositiveInteger")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/DrugOrderValidatorTest.java b/api/src/test/java/org/openmrs/validator/DrugOrderValidatorTest.java index 62b9d7996dda..db1e7fa36f09 100644 --- a/api/src/test/java/org/openmrs/validator/DrugOrderValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/DrugOrderValidatorTest.java @@ -22,6 +22,7 @@ import java.util.Calendar; import java.util.Date; +import org.hamcrest.Matchers; import org.junit.Assert; import org.junit.jupiter.api.Test; import org.openmrs.CareSetting; @@ -84,6 +85,7 @@ public void validate_shouldFailValidationIfDosingTypeIsNull() { new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dosingType")); + assertThat(errors.getFieldErrors("dosingType").get(0).getCode(), Matchers.is("error.null")); } /** @@ -143,6 +145,7 @@ public void validate_shouldFailValidationIfQuantityIsNullForOutpatientCareSettin Errors OutpatientOrderErrors = new BindException(OutpatientOrder, "order"); new DrugOrderValidator().validate(OutpatientOrder, OutpatientOrderErrors); assertTrue(OutpatientOrderErrors.hasFieldErrors("quantity")); + assertThat(OutpatientOrderErrors.getFieldErrors("quantity").get(0).getCode(), Matchers.is("DrugOrder.error.quantityIsNullForOutPatient")); DrugOrder inPatientOrder = new DrugOrder(); inPatientOrder.setCareSetting(Context.getOrderService().getCareSetting(2)); @@ -163,6 +166,7 @@ public void validate_shouldFailValidationIfNumberOfRefillsIsNullForOutpatientCar Errors OutpatientOrderErrors = new BindException(OutpatientOrder, "order"); new DrugOrderValidator().validate(OutpatientOrder, OutpatientOrderErrors); assertTrue(OutpatientOrderErrors.hasFieldErrors("numRefills")); + assertThat(OutpatientOrderErrors.getFieldErrors("numRefills").get(0).getCode(), Matchers.is("DrugOrder.error.numRefillsIsNullForOutPatient")); DrugOrder inPatientOrder = new DrugOrder(); inPatientOrder.setCareSetting(Context.getOrderService().getCareSetting(2)); @@ -187,10 +191,10 @@ public void validate_shouldNotFailValidationIfQuantityAndNumRefillsAreNullIfConf OutpatientOrder.setNumRefills(null); Errors OutpatientOrderErrors = new BindException(OutpatientOrder, "order"); new DrugOrderValidator().validate(OutpatientOrder, OutpatientOrderErrors); - Assert.assertTrue(OutpatientOrder.getCareSetting().getCareSettingType() == CareSetting.CareSettingType.OUTPATIENT); - Assert.assertFalse(OutpatientOrderErrors.hasFieldErrors("quantity")); - Assert.assertFalse(OutpatientOrderErrors.hasFieldErrors("quantityUnits")); - Assert.assertFalse(OutpatientOrderErrors.hasFieldErrors("numRefills")); + assertTrue(OutpatientOrder.getCareSetting().getCareSettingType() == CareSetting.CareSettingType.OUTPATIENT); + assertFalse(OutpatientOrderErrors.hasFieldErrors("quantity")); + assertFalse(OutpatientOrderErrors.hasFieldErrors("quantityUnits")); + assertFalse(OutpatientOrderErrors.hasFieldErrors("numRefills")); } /** @@ -204,6 +208,7 @@ public void validate_shouldFailValidationIfDoseIsNullForSimpleDosingInstructions Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dose")); + assertThat(errors.getFieldErrors("dose").get(0).getCode(), Matchers.is("DrugOrder.error.doseIsNullForDosingTypeSimple")); } /** @@ -217,6 +222,7 @@ public void validate_shouldFailValidationIfDoseUnitsIsNullForSimpleDosingInstruc Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("doseUnits")); + assertThat(errors.getFieldErrors("doseUnits").get(0).getCode(), Matchers.is("DrugOrder.error.doseUnitsIsNullForDosingTypeSimple")); } /** @@ -230,6 +236,7 @@ public void validate_shouldFailValidationIfRouteIsNullForSimpleDosingInstruction Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("route")); + assertThat(errors.getFieldErrors("route").get(0).getCode(), Matchers.is("DrugOrder.error.routeIsNullForDosingTypeSimple")); } /** @@ -243,6 +250,7 @@ public void validate_shouldFailValidationIfFrequencyIsNullForSimpleDosingInstruc Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("frequency")); + assertThat(errors.getFieldErrors("frequency").get(0).getCode(), Matchers.is("DrugOrder.error.frequencyIsNullForDosingTypeSimple")); } /** @@ -257,6 +265,7 @@ public void validate_shouldFailValidationIfDosingInstructionsIsNullForFreeTextDo Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dosingInstructions")); + assertThat(errors.getFieldErrors("dosingInstructions").get(0).getCode(), Matchers.is("DrugOrder.error.dosingInstructionsIsNullForDosingTypeFreeText")); } /** @@ -271,6 +280,7 @@ public void validate_shouldFailValidationIfDoseUnitsIsNullWhenDoseIsPresent() { Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("doseUnits")); + assertThat(errors.getFieldErrors("doseUnits").get(0).getCode(), Matchers.is("DrugOrder.error.doseUnitsRequiredWithDose")); } /** @@ -285,6 +295,7 @@ public void validate_shouldFailValidationIfQuantityUnitsIsNullWhenQuantityIsPres Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("quantityUnits")); + assertThat(errors.getFieldErrors("quantityUnits").get(0).getCode(), Matchers.is("DrugOrder.error.quantityUnitsRequiredWithQuantity")); } /** @@ -299,6 +310,7 @@ public void validate_shouldFailValidationIfDurationUnitsIsNullWhenDurationIsPres Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("durationUnits")); + assertThat(errors.getFieldErrors("durationUnits").get(0).getCode(), Matchers.is("DrugOrder.error.durationUnitsRequiredWithDuration")); } /** @@ -317,7 +329,10 @@ public void validate_shouldFailValidationIfDrugConceptIsDifferentFromOrderConcep new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("error.concept")); + assertTrue(errors.hasFieldErrors("drug")); + assertThat(errors.getFieldErrors("drug").get(0).getCode(), Matchers.is("error.general")); } /** @@ -364,6 +379,7 @@ public void validate_shouldFailValidationIfDoseUnitsIsNotADoseUnitConcept() { Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("doseUnits")); + assertThat(errors.getFieldErrors("doseUnits").get(0).getCode(), Matchers.is("DrugOrder.error.notAmongAllowedConcepts")); } /** @@ -386,6 +402,7 @@ public void validate_shouldFailValidationIfQuantityUnitsItNotAQuantityUnitConcep Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("quantityUnits")); + assertThat(errors.getFieldErrors("quantityUnits").get(0).getCode(), Matchers.is("DrugOrder.error.notAmongAllowedConcepts")); } /** @@ -408,6 +425,7 @@ public void validate_shouldFailValidationIfDurationUnitsIsNotADurationUnitConcep Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("durationUnits")); + assertThat(errors.getFieldErrors("durationUnits").get(0).getCode(), Matchers.is("DrugOrder.error.notAmongAllowedConcepts")); } /** @@ -445,6 +463,7 @@ public void validate_shouldFailIfConceptIsNullAndDrugIsNotSpecified() { new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("error.null")); } /** @@ -460,6 +479,7 @@ public void validate_shouldFailIfConceptIsNullAndCannotInferItFromDrug() { Errors errors = new BindException(order, "order"); adminService.validate(order, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("error.null")); } /** @@ -514,6 +534,7 @@ public void validate_shouldApplyValidationForACustomDosingType() { Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("brandName")); + assertThat(errors.getFieldErrors("brandName").get(0).getCode(), Matchers.is("DrugOrder.error.brandNameIsNull")); } /** @@ -557,6 +578,7 @@ public void saveOrder_shouldFailDrugOrderWithoutADrugWhenDrugOrderRequireDrugGBI Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("drug")); + assertThat(errors.getFieldErrors("drug").get(0).getCode(), Matchers.is("DrugOrder.error.drugIsRequired")); } /** @@ -720,7 +742,10 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(order, "order"); new DrugOrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("asNeededCondition")); + assertThat(errors.getFieldErrors("asNeededCondition").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("brandName")); + assertThat(errors.getFieldErrors("brandName").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/DrugValidatorTest.java b/api/src/test/java/org/openmrs/validator/DrugValidatorTest.java index dd377ec673c1..04db8d6f074f 100644 --- a/api/src/test/java/org/openmrs/validator/DrugValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/DrugValidatorTest.java @@ -18,6 +18,7 @@ import java.util.Collections; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openmrs.ConceptMapType; @@ -65,6 +66,7 @@ public void validate_shouldFailIfDrugOnDrugReferenceMapIsNull() { Errors errors = new BindException(drug, "drug"); new DrugValidator().validate(drug, errors); assertTrue(errors.hasFieldErrors("drugReferenceMaps[0].drug")); + assertThat(errors.getFieldErrors("drugReferenceMaps[0].drug").get(0).getCode(), Matchers.is("Drug.drugReferenceMap.mappedDrug")); } /** @@ -77,6 +79,7 @@ public void validate_shouldFailIfConceptReferenceTermOnDrugReferenceMapIsNull() Errors errors = new BindException(drug, "drug"); new DrugValidator().validate(drug, errors); assertTrue(errors.hasFieldErrors("drugReferenceMaps[0].conceptReferenceTerm")); + assertThat(errors.getFieldErrors("drugReferenceMaps[0].conceptReferenceTerm").get(0).getCode(), Matchers.is("Drug.drugReferenceMap.conceptReferenceTerm")); } /** @@ -90,6 +93,7 @@ public void validate_shouldInvokeConceptReferenceTermValidatorIfTermOnDrugRefere new DrugValidator().validate(drug, errors); //reference term validator should have been called which should reject a null code assertTrue(errors.hasFieldErrors("drugReferenceMaps[0].conceptReferenceTerm.code")); + assertThat(errors.getFieldErrors("drugReferenceMaps[0].conceptReferenceTerm.code").get(0).getCode(), Matchers.is("ConceptReferenceTerm.error.codeRequired")); } /** @@ -103,6 +107,7 @@ public void validate_shouldInvokeConceptMapTypeValidatorIfConceptMapTypeOnDrugRe new DrugValidator().validate(drug, errors); //concept map type validator should have been called which should reject a null name assertTrue(errors.hasFieldErrors("drugReferenceMaps[0].conceptMapType.name")); + assertThat(errors.getFieldErrors("drugReferenceMaps[0].conceptMapType.name").get(0).getCode(), Matchers.is("ConceptMapType.error.nameRequired")); } /** @@ -121,6 +126,7 @@ public void validate_shouldRejectDrugMultipleMappingsToTheSameTerm() { Errors errors = new BindException(drug, "drug"); new DrugValidator().validate(drug, errors); assertTrue(errors.hasFieldErrors("drugReferenceMaps[1].conceptReferenceTerm")); + assertThat(errors.getFieldErrors("drugReferenceMaps[1].conceptReferenceTerm").get(0).getCode(), Matchers.is("Drug.drugReferenceMap.termAlreadyMapped")); } /** @@ -169,7 +175,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(drug, "drug"); new DrugValidator().validate(drug, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("strength")); + assertThat(errors.getFieldErrors("strength").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/EncounterRoleValidatorTest.java b/api/src/test/java/org/openmrs/validator/EncounterRoleValidatorTest.java index 610f97aeba62..6f3b0b837c12 100644 --- a/api/src/test/java/org/openmrs/validator/EncounterRoleValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/EncounterRoleValidatorTest.java @@ -9,10 +9,12 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.EncounterRole; import org.openmrs.api.context.Context; @@ -36,18 +38,21 @@ public void validate_shouldFailIfTheNameOfTheEncounterRoleIsNullEmptyOrWhitespac Errors errorsNo1 = new BindException(encounterRoleNo1, "encounterRole"); new EncounterRoleValidator().validate(encounterRoleNo1, errorsNo1); assertTrue(errorsNo1.hasFieldErrors("name")); + assertThat(errorsNo1.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); EncounterRole encounterRoleNo2 = new EncounterRole(); encounterRoleNo2.setName(""); Errors errorsNo2 = new BindException(encounterRoleNo2, "encounterRole"); new EncounterRoleValidator().validate(encounterRoleNo2, errorsNo2); assertTrue(errorsNo2.hasFieldErrors("name")); + assertThat(errorsNo2.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); EncounterRole encounterRoleNo3 = new EncounterRole(); encounterRoleNo3.setName(" "); Errors errorsNo3 = new BindException(encounterRoleNo3, "encounterRole"); new EncounterRoleValidator().validate(encounterRoleNo3, errorsNo3); assertTrue(errorsNo3.hasFieldErrors("name")); + assertThat(errorsNo3.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -63,6 +68,7 @@ public void validate_shouldFailIfEncounterRoleNameIsDuplicate() { Errors errors = new BindException(newEncounterRole, "encounterRole"); new EncounterRoleValidator().validate(newEncounterRole, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("encounterRole.duplicate.name")); } @@ -114,7 +120,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(encounterRole, "encounterRole"); new EncounterRoleValidator().validate(encounterRole, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/EncounterTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/EncounterTypeValidatorTest.java index 44fd490c758b..8fe445ca4d14 100644 --- a/api/src/test/java/org/openmrs/validator/EncounterTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/EncounterTypeValidatorTest.java @@ -9,11 +9,13 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.commons.lang3.StringUtils; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.EncounterType; import org.openmrs.api.context.Context; @@ -38,16 +40,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new EncounterTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); type.setName(""); errors = new BindException(type, "type"); new EncounterTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); type.setName(" "); errors = new BindException(type, "type"); new EncounterTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -116,6 +121,7 @@ public void validate_shouldFailIfEncounterTypeNameIsDuplicate() { Errors errors = new BindException(newEncounterType, "encounterType"); new EncounterTypeValidator().validate(newEncounterType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("EncounterType.error.duplicateEncounterTypeNameSpecified")); } @@ -149,7 +155,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new EncounterTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/EncounterValidatorTest.java b/api/src/test/java/org/openmrs/validator/EncounterValidatorTest.java index adfb8e3ce452..bc7342e8502d 100644 --- a/api/src/test/java/org/openmrs/validator/EncounterValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/EncounterValidatorTest.java @@ -20,6 +20,7 @@ import java.util.Date; import java.util.GregorianCalendar; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openmrs.Encounter; @@ -106,6 +107,7 @@ public void validate_shouldFailIfPatientIsNotSet() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("patient")); + assertThat(errors.getFieldErrors("patient").get(0).getCode(), Matchers.is("Encounter.error.patient.required")); } /** @@ -126,6 +128,7 @@ public void validate_shouldFailIfEncounterDateTimeIsBeforeVisitStartDateTime() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("encounterDatetime")); + assertThat(errors.getFieldErrors("encounterDatetime").get(0).getCode(), Matchers.is("Encounter.datetimeShouldBeInVisitDatesRange")); } /** @@ -166,6 +169,7 @@ public void validate_shouldFailIfEncounterDateTimeIsAfterCurrentDateTime() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("encounterDatetime")); + assertThat(errors.getFieldErrors("encounterDatetime").get(0).getCode(), Matchers.is("Encounter.datetimeShouldBeBeforeCurrent")); } /** @@ -177,6 +181,7 @@ public void validate_shouldFailIfEncounterDateTimeIsNotSet() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("encounterDatetime")); + assertThat(errors.getFieldErrors("encounterDatetime").get(0).getCode(), Matchers.is("Encounter.datetime.required")); } /** @@ -188,6 +193,7 @@ public void validate_shouldFailIfEncounterTypeIsNotSet() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("encounterType")); + assertThat(errors.getFieldErrors("encounterType").get(0).getCode(), Matchers.is("Encounter.error.encounterType.required")); } /** @@ -221,5 +227,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { encounterValidator.validate(encounter, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/FieldTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/FieldTypeValidatorTest.java index 5d9f42ee5fb0..abebc78e62d7 100644 --- a/api/src/test/java/org/openmrs/validator/FieldTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/FieldTypeValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.FieldType; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -36,16 +38,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new FieldTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); type.setName(""); errors = new BindException(type, "type"); new FieldTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); type.setName(" "); errors = new BindException(type, "type"); new FieldTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -75,6 +80,7 @@ public void validate_shouldFailIfFieldTypeNameIsDuplicate() { new FieldTypeValidator().validate(type, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("fieldtype.duplicate.name")); } /** @@ -105,5 +111,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new FieldTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/FieldValidatorTest.java b/api/src/test/java/org/openmrs/validator/FieldValidatorTest.java index 67f85ba42371..d76a2cce830d 100644 --- a/api/src/test/java/org/openmrs/validator/FieldValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/FieldValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.Field; import org.openmrs.FieldType; @@ -43,6 +45,7 @@ public void validate_shouldFailValidationIfNameIsNull() { new FieldValidator().validate(ff, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.null")); } /** @@ -64,6 +67,7 @@ public void validate_shouldFailValidationIfNameIsEmpty() { new FieldValidator().validate(ff, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.null")); } /** @@ -85,6 +89,7 @@ public void validate_shouldFailValidationIfNameIsAllWhitespace() { new FieldValidator().validate(ff, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.null")); } /** @@ -107,6 +112,7 @@ public void validate_shouldFailValidationIfSelectMultipleIsNull() { new FieldValidator().validate(ff, errors); assertTrue(errors.hasFieldErrors("selectMultiple")); + assertThat(errors.getFieldErrors("selectMultiple").get(0).getCode(), Matchers.is("error.general")); } /** @@ -202,8 +208,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new FieldValidator().validate(ff, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("tableName")); + assertThat(errors.getFieldErrors("tableName").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("attributeName")); + assertThat(errors.getFieldErrors("attributeName").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/FormValidatorTest.java b/api/src/test/java/org/openmrs/validator/FormValidatorTest.java index de13c267fb66..9d85f2ad246e 100644 --- a/api/src/test/java/org/openmrs/validator/FormValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/FormValidatorTest.java @@ -9,9 +9,11 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.Form; import org.openmrs.test.jupiter.BaseContextSensitiveTest; @@ -35,6 +37,7 @@ public void validate_shouldFailValidationIfNameIsNull() { new FormValidator().validate(form, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); assertFalse(errors.hasFieldErrors("version")); } @@ -51,6 +54,7 @@ public void validate_shouldFailValidationIfVersionIsNull() { assertFalse(errors.hasFieldErrors("name")); assertTrue(errors.hasFieldErrors("version")); + assertThat(errors.getFieldErrors("version").get(0).getCode(), Matchers.is("error.null")); } /** @@ -67,6 +71,7 @@ public void validate_shouldFailValidationIfVersionDoesNotMatchRegex() { assertFalse(errors.hasFieldErrors("name")); assertTrue(errors.hasFieldErrors("version")); + assertThat(errors.getFieldErrors("version").get(0).getCode(), Matchers.is("Form.version.invalid")); } /** @@ -85,6 +90,7 @@ public void validate_shouldFailValidationIfRetiredReasonIsNull() { assertFalse(errors.hasFieldErrors("name")); assertFalse(errors.hasFieldErrors("version")); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("general.retiredReason.empty")); } /** @@ -117,6 +123,7 @@ public void validate_shouldFailValidationIfRetiredReasonIsEmpty() { new FormValidator().validate(form, errors); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("general.retiredReason.empty")); } /** @@ -154,8 +161,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new FormValidator().validate(form, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("version")); + assertThat(errors.getFieldErrors("version").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/HL7SourceValidatorTest.java b/api/src/test/java/org/openmrs/validator/HL7SourceValidatorTest.java index 82cecabbb661..28f7566904f6 100644 --- a/api/src/test/java/org/openmrs/validator/HL7SourceValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/HL7SourceValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -48,5 +50,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(hl7Source, "hl7Source"); new HL7SourceValidator().validate(hl7Source, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ImplementationIdValidatorTest.java b/api/src/test/java/org/openmrs/validator/ImplementationIdValidatorTest.java index f319ca700a9e..7dfa0b928772 100644 --- a/api/src/test/java/org/openmrs/validator/ImplementationIdValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ImplementationIdValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -55,6 +57,7 @@ public void validate_shouldFailValidationIfImplementationIdIsNull() { new ImplementationIdValidator().validate(implementationId, errors); assertTrue(errors.hasFieldErrors("implementationId")); + assertThat(errors.getFieldErrors("implementationId").get(0).getCode(), is("ImplementationId.implementationId.empty")); assertFalse(errors.hasFieldErrors("passphrase")); assertFalse(errors.hasFieldErrors("description")); } @@ -89,6 +92,7 @@ public void validate_shouldFailValidationIfPassPhraseIsNull() { new ImplementationIdValidator().validate(implementationId, errors); assertTrue(errors.hasFieldErrors("passphrase")); + assertThat(errors.getFieldErrors("passphrase").get(0).getCode(), is("ImplementationId.passphrase.empty")); assertFalse(errors.hasFieldErrors("implementationId")); assertFalse(errors.hasFieldErrors("description")); } @@ -102,9 +106,11 @@ public void validate_shouldFailIfGivenEmptyImplementationIdObject() { ImplementationId implementationId = new ImplementationId(); Errors errors = new BindException(implementationId, "implementationId"); new ImplementationIdValidator().validate(implementationId, errors); - + assertTrue(errors.hasFieldErrors("passphrase")); + assertThat(errors.getFieldErrors("passphrase").get(0).getCode(), is("ImplementationId.passphrase.empty")); assertTrue(errors.hasFieldErrors("implementationId")); + assertThat(errors.getFieldErrors("implementationId").get(0).getCode(), is("ImplementationId.implementationId.empty")); assertFalse(errors.hasFieldErrors("description")); } @@ -157,8 +163,9 @@ public void validate_shouldFailValidationIfNameIsNull() { Errors errors = new BindException(implementationId, "implementationId"); new ImplementationIdValidator().validate(implementationId, errors); - + assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("ImplementationId.name.empty")); assertFalse(errors.hasFieldErrors("implementationId")); assertFalse(errors.hasFieldErrors("passphrase")); assertFalse(errors.hasFieldErrors("description")); diff --git a/api/src/test/java/org/openmrs/validator/LocationAttributeTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/LocationAttributeTypeValidatorTest.java index 9c513e47ec4e..ccab3954edc3 100644 --- a/api/src/test/java/org/openmrs/validator/LocationAttributeTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/LocationAttributeTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -52,16 +54,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new LocationAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); type.setName(""); errors = new BindException(type, "type"); new LocationAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); type.setName(" "); errors = new BindException(type, "type"); new LocationAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); } /** @@ -93,6 +98,7 @@ public void validate_shouldFailIfLocationAttributeTypeNameIsDuplicate() { Errors errors = new BindException(type, "locationAttributeType"); new LocationAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("LocationAttributeType.error.nameAlreadyInUse")); } @@ -148,9 +154,18 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new LocationAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("datatypeClassname")); + assertThat(errors.getFieldErrors("datatypeClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("preferredHandlerClassname")); + assertThat(errors.getFieldErrors("preferredHandlerClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/LocationTagValidatorTest.java b/api/src/test/java/org/openmrs/validator/LocationTagValidatorTest.java index cf756d2a4a41..bdfe67680ecb 100644 --- a/api/src/test/java/org/openmrs/validator/LocationTagValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/LocationTagValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -58,7 +60,10 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new LocationTagValidator().validate(locationTag, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/LocationValidatorTest.java b/api/src/test/java/org/openmrs/validator/LocationValidatorTest.java index 9d4ca7711f95..a11aad50a469 100644 --- a/api/src/test/java/org/openmrs/validator/LocationValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/LocationValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -35,6 +37,7 @@ public void validate_shouldFailValidationIfNameIsNullOrEmpty() { new LocationValidator().validate(location, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); assertFalse(errors.hasFieldErrors("description")); } @@ -51,6 +54,7 @@ public void validate_shouldFailValidationIfRetiredAndRetireReasonIsNullOrEmpty() new LocationValidator().validate(location, errors); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.null")); } /** @@ -119,6 +123,7 @@ public void validate_shouldFailValidationIfParentLocationCreatesALoop() { new LocationValidator().validate(location1, errors); assertTrue(errors.hasFieldErrors("parentLocation")); + assertThat(errors.getFieldErrors("parentLocation").get(0).getCode(), is("Location.parentLocation.error")); } /** @@ -134,6 +139,7 @@ public void validate_shouldFailValidationIfLocationNameAlreadyExist() { new LocationValidator().validate(location, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("location.duplicate.name")); } /** @@ -202,29 +208,54 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new LocationValidator().validate(location, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address1")); + assertThat(errors.getFieldErrors("address1").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address2")); + assertThat(errors.getFieldErrors("address2").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address3")); + assertThat(errors.getFieldErrors("address3").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address4")); + assertThat(errors.getFieldErrors("address4").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address5")); + assertThat(errors.getFieldErrors("address5").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address6")); + assertThat(errors.getFieldErrors("address6").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address7")); + assertThat(errors.getFieldErrors("address7").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address8")); + assertThat(errors.getFieldErrors("address8").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address9")); + assertThat(errors.getFieldErrors("address9").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address10")); + assertThat(errors.getFieldErrors("address10").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address11")); + assertThat(errors.getFieldErrors("address11").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address12")); + assertThat(errors.getFieldErrors("address12").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address13")); + assertThat(errors.getFieldErrors("address13").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address14")); + assertThat(errors.getFieldErrors("address14").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address15")); + assertThat(errors.getFieldErrors("address15").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("cityVillage")); + assertThat(errors.getFieldErrors("cityVillage").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("stateProvince")); + assertThat(errors.getFieldErrors("stateProvince").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("country")); + assertThat(errors.getFieldErrors("country").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("postalCode")); + assertThat(errors.getFieldErrors("postalCode").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("latitude")); + assertThat(errors.getFieldErrors("latitude").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("longitude")); + assertThat(errors.getFieldErrors("longitude").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("countyDistrict")); + assertThat(errors.getFieldErrors("countyDistrict").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ObsValidatorTest.java b/api/src/test/java/org/openmrs/validator/ObsValidatorTest.java index 2f8b08d505fc..6496e56e6fe0 100644 --- a/api/src/test/java/org/openmrs/validator/ObsValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ObsValidatorTest.java @@ -21,6 +21,7 @@ import org.apache.commons.lang3.StringUtils; import org.hamcrest.CoreMatchers; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.Concept; import org.openmrs.ConceptDatatype; @@ -57,6 +58,7 @@ public void validate_shouldFailValidationIfPersonIdIsNull() { obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("person")); + assertThat(errors.getFieldErrors("person").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertFalse(errors.hasFieldErrors("valueNumeric")); @@ -78,6 +80,7 @@ public void validate_shouldFailValidationIfObsDatetimeIsNull() { assertFalse(errors.hasFieldErrors("person")); assertFalse(errors.hasFieldErrors("concept")); assertTrue(errors.hasFieldErrors("obsDatetime")); + assertThat(errors.getFieldErrors("obsDatetime").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("valueNumeric")); } @@ -111,14 +114,30 @@ public void validate_shouldFailIfParentObshasValues() { assertFalse(errors.hasFieldErrors("person")); assertFalse(errors.hasFieldErrors("concept")); + assertTrue(errors.hasFieldErrors("valueCoded")); + assertThat(errors.getFieldErrors("valueCoded").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueDrug")); + assertThat(errors.getFieldErrors("valueDrug").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueDatetime")); + assertThat(errors.getFieldErrors("valueDatetime").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueNumeric")); + assertThat(errors.getFieldErrors("valueNumeric").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueModifier")); + assertThat(errors.getFieldErrors("valueModifier").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueText")); + assertThat(errors.getFieldErrors("valueText").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueBoolean")); + assertThat(errors.getFieldErrors("valueBoolean").get(0).getCode(), Matchers.is("error.not.null")); + assertTrue(errors.hasFieldErrors("valueComplex")); + assertThat(errors.getFieldErrors("valueComplex").get(0).getCode(), Matchers.is("error.not.null")); } /** @@ -153,6 +172,7 @@ public void validate_shouldFailValidationIfConceptIsNull() { assertFalse(errors.hasFieldErrors("person")); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertFalse(errors.hasFieldErrors("valueNumeric")); } @@ -174,6 +194,7 @@ public void validate_shouldFailValidationIfConceptDatatypeIsBooleanAndValueBoole assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("valueBoolean")); + assertThat(errors.getFieldErrors("valueBoolean").get(0).getCode(), Matchers.is("error.null")); } /** @@ -193,6 +214,7 @@ public void validate_shouldFailValidationIfConceptDatatypeIsCodedAndValueCodedIs assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("valueCoded")); + assertThat(errors.getFieldErrors("valueCoded").get(0).getCode(), Matchers.is("error.null")); } /** @@ -212,6 +234,7 @@ public void validate_shouldFailValidationIfConceptDatatypeIsDateAndValueDatetime assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("valueDatetime")); + assertThat(errors.getFieldErrors("valueDatetime").get(0).getCode(), Matchers.is("error.null")); } /** @@ -231,6 +254,7 @@ public void validate_shouldFailValidationIfConceptDatatypeIsNumericAndValueNumer assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("valueNumeric")); + assertThat(errors.getFieldErrors("valueNumeric").get(0).getCode(), Matchers.is("error.null")); } /** @@ -247,6 +271,7 @@ public void validate_shouldFailValidationIfConceptDatatypeIsTextAndValueTextIsNu obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("valueText")); + assertThat(errors.getFieldErrors("valueText").get(0).getCode(), Matchers.is("error.null")); } /** @@ -270,6 +295,7 @@ public void validate_shouldFailValidationIfObsAncestorsContainsObs() { assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("groupMembers")); + assertThat(errors.getFieldErrors("groupMembers").get(0).getCode(), Matchers.is("Obs.error.groupContainsItself")); } /** @@ -315,6 +341,7 @@ public void validate_shouldFailValidationIfValueTextIsGreaterThanTheMaximumLengt assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("obsDatetime")); assertTrue(errors.hasFieldErrors("valueText")); + assertThat(errors.getFieldErrors("valueText").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } /** @@ -339,6 +366,7 @@ public void validate_shouldRejectAnInvalidConceptAndDrugCombination() { Errors errors = new BindException(obs, "obs"); obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("valueDrug")); + assertThat(errors.getFieldErrors("valueDrug").get(0).getCode(), Matchers.is("Obs.error.invalidDrug")); } /** @@ -410,10 +438,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("accessionNumber")); + assertThat(errors.getFieldErrors("accessionNumber").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("valueModifier")); + assertThat(errors.getFieldErrors("valueModifier").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("valueComplex")); + assertThat(errors.getFieldErrors("valueComplex").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("comment")); + assertThat(errors.getFieldErrors("comment").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } /** @@ -439,6 +472,7 @@ public void validate_shouldNotValidateIfObsIsVoided() { Errors errors = new BindException(obs, "obs"); obsValidator.validate(obs, errors); assertTrue(errors.hasFieldErrors("valueNumeric")); + assertThat(errors.getFieldErrors("valueNumeric").get(0).getCode(), Matchers.is("error.null")); obs.setVoided(true); errors = new BindException(obs, "obs"); @@ -468,6 +502,7 @@ public void validate_shouldNotValidateAVoidedChildObs() { Errors errors = new BindException(obs, "obs"); obsValidator.validate(obs, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("error.null")); inValidChild.setVoided(true); errors = new BindException(obs, "obs"); diff --git a/api/src/test/java/org/openmrs/validator/OrderFrequencyValidatorTest.java b/api/src/test/java/org/openmrs/validator/OrderFrequencyValidatorTest.java index c7e4810c7610..7a6733130043 100644 --- a/api/src/test/java/org/openmrs/validator/OrderFrequencyValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/OrderFrequencyValidatorTest.java @@ -16,6 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.Concept; import org.openmrs.ConceptDescription; @@ -43,6 +44,7 @@ public void validate_shouldFailIfOrderFrequencyIsNull() { new OrderFrequencyValidator().validate(null, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("error.general")); } /** @@ -56,6 +58,7 @@ public void validate_shouldFailIfConceptIsNull() { new OrderFrequencyValidator().validate(orderFrequency, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("Concept.noConceptSelected")); } /** @@ -69,6 +72,7 @@ public void validate_shouldFailIfTheConceptIsNotOfClassFrequency() { new OrderFrequencyValidator().validate(orderFrequency, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("OrderFrequency.concept.shouldBeClassFrequency")); } /** @@ -82,6 +86,7 @@ public void validate_shouldFailIfConceptIsUsedByAnotherFrequency() { new OrderFrequencyValidator().validate(orderFrequency, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("OrderFrequency.concept.shouldNotBeShared")); } /** @@ -180,5 +185,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new OrderFrequencyValidator().validate(orderFrequency, errors); assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/OrderTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/OrderTypeValidatorTest.java index 87fb1f3cfc0d..bf06410e9c04 100644 --- a/api/src/test/java/org/openmrs/validator/OrderTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/OrderTypeValidatorTest.java @@ -20,6 +20,7 @@ import java.util.Collection; import java.util.HashSet; +import org.hamcrest.Matchers; import org.junit.jupiter.api.Test; import org.openmrs.ConceptClass; import org.openmrs.OrderType; @@ -58,6 +59,7 @@ public void validate_shouldFailIfNameIsNull() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -70,6 +72,7 @@ public void validate_shouldFailIfNameIsEmpty() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -82,6 +85,7 @@ public void validate_shouldFailIfNameIsWhitespace() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -94,6 +98,7 @@ public void validate_shouldFailIfNameIsWhiteSpace() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.name")); } /** @@ -106,6 +111,7 @@ public void validate_shouldFailIfNameIsADuplicate() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("OrderType.duplicate.name")); } /** @@ -121,6 +127,7 @@ public void validate_shouldFailIfConceptClassIsADuplicate() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("conceptClasses[0]")); + assertThat(errors.getFieldErrors("conceptClasses[0]").get(0).getCode(), Matchers.is("OrderType.duplicate")); } /** @@ -135,6 +142,7 @@ public void validate_shouldFailIfParentIsAmongItsDescendants() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("parent")); + assertThat(errors.getFieldErrors("parent").get(0).getCode(), Matchers.is("OrderType.parent.amongDescendants")); } /** @@ -149,6 +157,7 @@ public void validate_shouldFailIfParentIsAlsoADirectChild() { Errors errors = new BindException(orderType, "orderType"); new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("parent")); + assertThat(errors.getFieldErrors("parent").get(0).getCode(), Matchers.is("OrderType.parent.amongDescendants")); } /** @@ -237,8 +246,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new OrderTypeValidator().validate(orderType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("javaClassName")); + assertThat(errors.getFieldErrors("javaClassName").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/OrderValidatorTest.java b/api/src/test/java/org/openmrs/validator/OrderValidatorTest.java index cd4fe04b94af..3c39d0d48b2f 100644 --- a/api/src/test/java/org/openmrs/validator/OrderValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/OrderValidatorTest.java @@ -9,6 +9,7 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -18,6 +19,7 @@ import java.util.Date; import org.apache.commons.lang3.time.DateUtils; +import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openmrs.CareSetting; @@ -77,6 +79,7 @@ public void validate_shouldFailValidationIfOrderAndEncounterHaveDifferentPatient new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("encounter")); + assertThat(errors.getFieldErrors("encounter").get(0).getCode(), Matchers.is("Order.error.encounterPatientMismatch")); } /** @@ -98,6 +101,7 @@ public void validate_shouldFailValidationIfDateActivatedIsBeforeEncountersEncoun new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dateActivated")); + assertThat(errors.getFieldErrors("dateActivated").get(0).getCode(), Matchers.is("Order.error.encounterDatetimeAfterDateActivated")); } /** @@ -116,6 +120,7 @@ public void validate_shouldFailValidationIfVoidedIsNull() { assertFalse(errors.hasFieldErrors("discontinued")); assertTrue(errors.hasFieldErrors("voided")); + assertThat(errors.getFieldErrors("voided").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("concept")); assertFalse(errors.hasFieldErrors("patient")); assertFalse(errors.hasFieldErrors("orderer")); @@ -135,6 +140,7 @@ public void validate_shouldFailValidationIfConceptIsNull() { assertFalse(errors.hasFieldErrors("discontinued")); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), Matchers.is("Concept.noConceptSelected")); assertFalse(errors.hasFieldErrors("patient")); assertFalse(errors.hasFieldErrors("orderer")); } @@ -154,6 +160,7 @@ public void validate_shouldFailValidationIfPatientIsNull() { assertFalse(errors.hasFieldErrors("discontinued")); assertFalse(errors.hasFieldErrors("concept")); assertTrue(errors.hasFieldErrors("patient")); + assertThat(errors.getFieldErrors("patient").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("orderer")); } @@ -172,6 +179,7 @@ public void validate_shouldFailValidationIfOrdererIsNull() { assertFalse(errors.hasFieldErrors("discontinued")); assertFalse(errors.hasFieldErrors("concept")); assertTrue(errors.hasFieldErrors("orderer")); + assertThat(errors.getFieldErrors("orderer").get(0).getCode(), Matchers.is("error.null")); assertFalse(errors.hasFieldErrors("patient")); } @@ -189,6 +197,7 @@ public void validate_shouldFailValidationIfEncounterIsNull() { new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("encounter")); + assertThat(errors.getFieldErrors("encounter").get(0).getCode(), Matchers.is("error.null")); } /** @@ -205,6 +214,7 @@ public void validate_shouldFailValidationIfUrgencyIsNull() { new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("urgency")); + assertThat(errors.getFieldErrors("urgency").get(0).getCode(), Matchers.is("error.null")); } /** @@ -221,6 +231,7 @@ public void validate_shouldFailValidationIfActionIsNull() { new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("action")); + assertThat(errors.getFieldErrors("action").get(0).getCode(), Matchers.is("error.null")); } /** @@ -242,7 +253,10 @@ public void validate_shouldFailValidationIfDateActivatedAfterDateStopped() throw new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dateActivated")); + assertThat(errors.getFieldErrors("dateActivated").get(0).getCode(), Matchers.is("Order.error.dateActivatedAfterDiscontinuedDate")); + assertTrue(errors.hasFieldErrors("dateStopped")); + assertThat(errors.getFieldErrors("dateStopped").get(0).getCode(), Matchers.is("Order.error.dateActivatedAfterDiscontinuedDate")); } /** @@ -263,7 +277,10 @@ public void validate_shouldFailValidationIfDateActivatedAfterAutoExpireDate() { new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("dateActivated")); + assertThat(errors.getFieldErrors("dateActivated").get(0).getCode(), Matchers.is("Order.error.dateActivatedAfterAutoExpireDate")); + assertTrue(errors.hasFieldErrors("autoExpireDate")); + assertThat(errors.getFieldErrors("autoExpireDate").get(0).getCode(), Matchers.is("Order.error.dateActivatedAfterAutoExpireDate")); } /** @@ -445,6 +462,7 @@ public void saveOrder_shouldNotSaveOrderIfInvalidOrderGroupEncounter() { new OrderValidator().validate(order, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), Matchers.is("Order.error.orderEncounterAndOrderGroupEncounterMismatch")); } /** @@ -481,9 +499,16 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new OrderValidator().validate(order, errors); assertTrue(errors.hasFieldErrors("accessionNumber")); + assertThat(errors.getFieldErrors("accessionNumber").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("orderReasonNonCoded")); + assertThat(errors.getFieldErrors("orderReasonNonCoded").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("commentToFulfiller")); + assertThat(errors.getFieldErrors("commentToFulfiller").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), Matchers.is("error.exceededMaxLengthOfField")); } @Test diff --git a/api/src/test/java/org/openmrs/validator/PatientIdentifierTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/PatientIdentifierTypeValidatorTest.java index a7dabbd44d81..471b7fbc70cb 100644 --- a/api/src/test/java/org/openmrs/validator/PatientIdentifierTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PatientIdentifierTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -37,16 +39,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); type.setName(""); errors = new BindException(type, "type"); new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); type.setName(" "); errors = new BindException(type, "type"); new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); } /** @@ -122,6 +127,7 @@ public void validate_shouldFailValidationIfRegExFieldLengthIsTooLong() { new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("error.exceededMaxLengthOfField")); assertEquals(1, errors.getFieldErrorCount("format")); } @@ -140,6 +146,7 @@ public void validate_shouldFailValidationIfNameFieldLengthIsTooLong() { new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("error.exceededMaxLengthOfField")); assertEquals(1, errors.getFieldErrorCount("name")); } @@ -158,6 +165,7 @@ public void validate_shouldFailValidationIfPatientIdentifierTypeNameAlreadyExist new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("identifierType.duplicate.name")); } /** @@ -201,9 +209,18 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new PatientIdentifierTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("format")); + assertThat(errors.getFieldErrors("format").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("formatDescription")); + assertThat(errors.getFieldErrors("formatDescription").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("validator")); + assertThat(errors.getFieldErrors("validator").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/PatientIdentifierValidatorTest.java b/api/src/test/java/org/openmrs/validator/PatientIdentifierValidatorTest.java index 96627739f7e7..0f26fc839822 100644 --- a/api/src/test/java/org/openmrs/validator/PatientIdentifierValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PatientIdentifierValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -239,7 +241,10 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new PatientIdentifierValidator().validate(pi, errors); assertTrue(errors.hasFieldErrors("identifier")); + assertThat(errors.getFieldErrors("identifier").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } /** diff --git a/api/src/test/java/org/openmrs/validator/PatientProgramValidatorTest.java b/api/src/test/java/org/openmrs/validator/PatientProgramValidatorTest.java index 5fabfb2e3b86..4b94f3e43a27 100644 --- a/api/src/test/java/org/openmrs/validator/PatientProgramValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PatientProgramValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -47,6 +49,7 @@ public void validate_shouldFailIfThePatientFieldIsBlank() { BindException errors = new BindException(program, "program"); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("patient")); + assertThat(errors.getFieldErrors("patient").get(0).getCode(), is("error.required")); } /** @@ -72,6 +75,7 @@ public void validate_shouldFailIfAnyPatientStateHasAnEndDateBeforeItsStartDate() BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.endDateCannotBeBeforeStartDate")); } /** @@ -89,6 +93,7 @@ public void validate_shouldFailIfThereIsMoreThanOnePatientStateWithTheSameStates BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.duplicatePatientStates")); } /** @@ -103,6 +108,7 @@ public void validate_shouldFailIfAnyPatientStateHasANullWorkFlowState() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.requiredField")); } /** @@ -139,6 +145,7 @@ public void validate_shouldFailIfAnyPatientStatesOverlapEachOtherInTheSameWorkFl BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientProgram.error.foundOverlappingStates")); } /** @@ -168,6 +175,7 @@ public void validate_shouldFailIfAPatientProgramHasDuplicateStatesInTheSameWorkF BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.duplicatePatientStates")); } /** @@ -183,6 +191,7 @@ public void validate_shouldFailIfAPatientStateHasAnInvalidWorkFlowState() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.invalidPatientState")); } /** @@ -199,6 +208,7 @@ public void validate_shouldFailIfAPatientIsInMultipleStatesInTheSameWorkFlow() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientProgram.error.cannotBeInMultipleStates")); } /** @@ -273,6 +283,7 @@ public void validate_shouldFailIfThereIsMoreThanOneStateWithANullStartDateInTheS BindException errors = new BindException(pp, ""); new PatientProgramValidator().validate(pp, errors); assertTrue(errors.hasFieldErrors("states")); + assertThat(errors.getFieldErrors("states").get(0).getCode(), is("PatientState.error.requiredField")); } /** @@ -321,6 +332,7 @@ public void validate_shouldFailIfPatientProgramEndDateComesBeforeItsEnrolledDate BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("dateCompleted")); + assertThat(errors.getFieldErrors("dateCompleted").get(0).getCode(), is("error.patientProgram.enrolledDateShouldBeBeforecompletionDate")); } /** @@ -335,6 +347,7 @@ public void validate_shouldFailIfPatientProgramEnrolledDateIsInFuture() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("dateEnrolled")); + assertThat(errors.getFieldErrors("dateEnrolled").get(0).getCode(), is("error.patientProgram.enrolledDateDateCannotBeInFuture")); } /** @@ -349,6 +362,7 @@ public void validate_shouldFailIfPatientProgramEndDateIsInFuture() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("dateCompleted")); + assertThat(errors.getFieldErrors("dateCompleted").get(0).getCode(), is("error.patientProgram.completionDateCannotBeInFuture")); } /** @@ -362,6 +376,7 @@ public void validate_shouldFailIfPatientProgramEnrollDateIsEmpty() { BindException errors = new BindException(program, ""); new PatientProgramValidator().validate(program, errors); assertTrue(errors.hasFieldErrors("dateEnrolled")); + assertThat(errors.getFieldErrors("dateEnrolled").get(0).getCode(), is("error.patientProgram.enrolledDateEmpty")); } /** @@ -403,5 +418,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { BindException errors = new BindException(pp, "program"); new PatientProgramValidator().validate(pp, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/PatientValidatorTest.java b/api/src/test/java/org/openmrs/validator/PatientValidatorTest.java index 0bf2a5783f1d..af39d6f678bd 100644 --- a/api/src/test/java/org/openmrs/validator/PatientValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PatientValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -56,6 +58,7 @@ public void validate_shouldFailValidationIfAPreferredPatientIdentifierIsNotChose Errors errors = new BindException(pa, "patient"); validator.validate(pa, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("error.preferredIdentifier")); } /** @@ -73,6 +76,7 @@ public void validate_shouldFailValidationIfAPreferredPatientIdentifierIsNotChose Errors errors = new BindException(pa, "patient"); validator.validate(pa, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("error.preferredIdentifier")); } @Test @@ -117,6 +121,7 @@ public void validate_shouldFailValidationIfGenderIsBlank() { validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("gender")); + assertThat(errors.getFieldErrors("gender").get(0).getCode(), is("Person.gender.required")); } /** @@ -194,5 +199,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { validator.validate(patient, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/PersonAddressValidatorTest.java b/api/src/test/java/org/openmrs/validator/PersonAddressValidatorTest.java index 5f1c3b8fb888..7ba4bd1018b8 100644 --- a/api/src/test/java/org/openmrs/validator/PersonAddressValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PersonAddressValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -59,6 +61,7 @@ public void validate_shouldFailIfTheStartDateIsInTheFuture() { Errors errors = new BindException(personAddress, "personAddress"); validator.validate(personAddress, errors); assertTrue(errors.hasFieldErrors()); + assertThat(errors.getFieldErrors("startDate").get(0).getCode(), is("PersonAddress.error.startDateInFuture")); } /** @@ -74,6 +77,7 @@ public void validate_shouldFailIfTheEndDateIsBeforeTheStartDate() { Errors errors = new BindException(personAddress, "personAddress"); validator.validate(personAddress, errors); assertTrue(errors.hasFieldErrors()); + assertThat(errors.getFieldErrors("endDate").get(0).getCode(), is("PersonAddress.error.endDateBeforeStartDate")); } /** @@ -142,6 +146,7 @@ public void validate_shouldFailIfRequiredFieldsAreEmpty() { Errors errors = new BindException(personAddress, "personAddress"); validator.validate(personAddress, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("Required address field address1 is blank.")); } /** @@ -219,18 +224,43 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(personAddress, "personAddress"); validator.validate(personAddress, errors); assertTrue(errors.hasFieldErrors("address1")); + assertThat(errors.getFieldErrors("address1").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("address2")); + assertThat(errors.getFieldErrors("address2").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("cityVillage")); + assertThat(errors.getFieldErrors("cityVillage").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("stateProvince")); + assertThat(errors.getFieldErrors("stateProvince").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("postalCode")); + assertThat(errors.getFieldErrors("postalCode").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("country")); + assertThat(errors.getFieldErrors("country").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("latitude")); + assertThat(errors.getFieldErrors("latitude").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("longitude")); + assertThat(errors.getFieldErrors("longitude").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("countyDistrict")); + assertThat(errors.getFieldErrors("countyDistrict").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("address3")); + assertThat(errors.getFieldErrors("address3").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("address4")); + assertThat(errors.getFieldErrors("address4").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("address5")); + assertThat(errors.getFieldErrors("address5").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("address6"), "address6 missing in errors"); assertTrue(errors.hasFieldErrors("address7"), "address7 missing in errors"); assertTrue(errors.hasFieldErrors("address8"), "address8 missing in errors"); diff --git a/api/src/test/java/org/openmrs/validator/PersonAttributeTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/PersonAttributeTypeValidatorTest.java index f5ec3e4ba7fd..86b783821845 100644 --- a/api/src/test/java/org/openmrs/validator/PersonAttributeTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PersonAttributeTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -34,6 +36,7 @@ public void validate_shouldFailValidationIfNameIsNull() { new PersonAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("PersonAttributeType.error.nameEmpty")); } /** @@ -48,6 +51,7 @@ public void validate_shouldFailValidationIfNameAlreadyInUse() { new PersonAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("PersonAttributeType.error.nameAlreadyInUse")); } /** @@ -79,6 +83,7 @@ public void validate_shouldFailValidationIfFormatIsEmpty() { new PersonAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("format")); + assertThat(errors.getFieldErrors("format").get(0).getCode(), is("PersonAttributeType.error.formatEmpty")); } /** @@ -138,7 +143,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new PersonAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("format")); + assertThat(errors.getFieldErrors("format").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/PersonMergeLogValidatorTest.java b/api/src/test/java/org/openmrs/validator/PersonMergeLogValidatorTest.java index 56ed198b60c5..b31c673801bd 100644 --- a/api/src/test/java/org/openmrs/validator/PersonMergeLogValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PersonMergeLogValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -34,6 +36,7 @@ public void validate_shouldFailValidationIfPersonMergeLogDataIsNull() { Errors errors = new BindException(personMergeLog, "personMergeLog"); validator.validate(personMergeLog, errors); assertTrue(errors.hasFieldErrors("personMergeLogData")); + assertThat(errors.getFieldErrors("personMergeLogData").get(0).getCode(), is("error.null")); } /** @@ -48,6 +51,7 @@ public void validate_shouldFailValidationIfWinnerIsNull() { Errors errors = new BindException(personMergeLog, "personMergeLog"); validator.validate(personMergeLog, errors); assertTrue(errors.hasFieldErrors("winner")); + assertThat(errors.getFieldErrors("winner").get(0).getCode(), is("error.null")); } /** @@ -62,6 +66,7 @@ public void validate_shouldFailValidationIfLoserIsNull() { Errors errors = new BindException(personMergeLog, "personMergeLog"); validator.validate(personMergeLog, errors); assertTrue(errors.hasFieldErrors("loser")); + assertThat(errors.getFieldErrors("loser").get(0).getCode(), is("error.null")); } /** @@ -115,5 +120,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { validator.validate(personMergeLog, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/PersonValidatorTest.java b/api/src/test/java/org/openmrs/validator/PersonValidatorTest.java index 94239b8cf4fd..b909f0853c5e 100644 --- a/api/src/test/java/org/openmrs/validator/PersonValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/PersonValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -60,6 +62,7 @@ public void validate_shouldFailValidationIfBirthdateIsAFutureDate() { validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("birthdate")); + assertThat(errors.getFieldErrors("birthdate").get(0).getCode(), is("error.date.future")); } /** @@ -77,6 +80,7 @@ public void validate_shouldFailValidationIfDeathDateIsAFutureDate() { validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("deathDate")); + assertThat(errors.getFieldErrors("deathDate").get(0).getCode(), is("error.date.future")); } /** @@ -93,6 +97,7 @@ public void validate_shouldFailValidationIfBirthdateMakesPatientOlderThat140Year validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("birthdate")); + assertThat(errors.getFieldErrors("birthdate").get(0).getCode(), is("error.date.nonsensical")); } /** @@ -121,6 +126,7 @@ public void validate_shouldFailValidationIfVoidReasonIsBlankWhenPatientIsVoided( Errors errors = new BindException(pa, "patient"); validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.null")); } /** @@ -133,6 +139,7 @@ public void validate_shouldFailValidationIfPersonDoesNotHaveAtleastOneNonVoidedN Errors errors = new BindException(pa, "patient"); validator.validate(pa, errors); assertTrue(errors.hasFieldErrors("names")); + assertThat(errors.getFieldErrors("names").get(0).getCode(), is("Person.shouldHaveAtleastOneNonVoidedName")); } /** @@ -183,7 +190,9 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { personValidator.validate(person, errors); assertTrue(errors.hasFieldErrors("gender")); + assertThat(errors.getFieldErrors("gender").get(0).getCode(), is("error.exceededMaxLengthOfField")); assertTrue(errors.hasFieldErrors("personVoidReason")); + assertThat(errors.getFieldErrors("personVoidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } diff --git a/api/src/test/java/org/openmrs/validator/ProviderAttributeTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/ProviderAttributeTypeValidatorTest.java index 992dc633a9be..5af60f321566 100644 --- a/api/src/test/java/org/openmrs/validator/ProviderAttributeTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ProviderAttributeTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -71,6 +73,7 @@ public void validate_shouldFailValidationIfDatatypeClassnameIsEmpty() { Errors errors = new BindException(type, "type"); new ProviderAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("datatypeClassname")); + assertThat(errors.getFieldErrors("datatypeClassname").get(0).getCode(), is("error.null")); } /** @@ -85,6 +88,7 @@ public void validate_shouldFailValidationWhenAnActiveAttributeTypeWithSameNameEx Errors errors = new BindException(type, "providerAttributeType"); new ProviderAttributeTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("ProviderAttributeType.error.nameAlreadyInUse")); } /** @@ -105,11 +109,20 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(type, "type"); new ProviderAttributeTypeValidator().validate(type, errors); - + assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("datatypeClassname")); + assertThat(errors.getFieldErrors("datatypeClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("preferredHandlerClassname")); + assertThat(errors.getFieldErrors("preferredHandlerClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/ProviderValidatorTest.java b/api/src/test/java/org/openmrs/validator/ProviderValidatorTest.java index 3fb8ea1b6597..ac11171c3e03 100644 --- a/api/src/test/java/org/openmrs/validator/ProviderValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/ProviderValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -165,6 +167,7 @@ public void validate_shouldRejectAProviderIfItHasFewerThanMinOccursOfAnAttribute Errors errors = new BindException(provider, "provider"); new ProviderValidator().validate(provider, errors); assertTrue(errors.hasFieldErrors("activeAttributes")); + assertThat(errors.getFieldErrors("activeAttributes").get(0).getCode(), is("attribute.error.minOccurs")); } /** @@ -181,6 +184,7 @@ public void validate_shouldRejectAProviderIfItHasMoreThanMaxOccursOfAnAttribute( provider.addAttribute(makeAttribute("four")); new ProviderValidator().validate(provider, errors); assertTrue(errors.hasFieldErrors("activeAttributes")); + assertThat(errors.getFieldErrors("activeAttributes").get(0).getCode(), is("attribute.error.maxOccurs")); } private ProviderAttribute makeAttribute(String serializedValue) { @@ -289,6 +293,9 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { providerValidator.validate(provider, errors); assertTrue(errors.hasFieldErrors("identifier")); + assertThat(errors.getFieldErrors("identifier").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/RelationshipTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/RelationshipTypeValidatorTest.java index 9b0b03f73001..6ff3e38a0342 100644 --- a/api/src/test/java/org/openmrs/validator/RelationshipTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/RelationshipTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -35,16 +37,19 @@ public void validate_shouldFailValidationIfaIsToBIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("aIsToB")); + assertThat(errors.getFieldErrors("aIsToB").get(0).getCode(), is("RelationshipType.aIsToB.required")); type.setaIsToB(""); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("aIsToB")); + assertThat(errors.getFieldErrors("aIsToB").get(0).getCode(), is("RelationshipType.aIsToB.required")); type.setaIsToB(" "); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("aIsToB")); + assertThat(errors.getFieldErrors("aIsToB").get(0).getCode(), is("RelationshipType.aIsToB.required")); } /** @@ -57,16 +62,19 @@ public void validate_shouldFailValidationIfbIsToAIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("bIsToA")); + assertThat(errors.getFieldErrors("bIsToA").get(0).getCode(), is("RelationshipType.bIsToA.required")); type.setbIsToA(""); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("bIsToA")); + assertThat(errors.getFieldErrors("bIsToA").get(0).getCode(), is("RelationshipType.bIsToA.required")); type.setbIsToA(" "); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("bIsToA")); + assertThat(errors.getFieldErrors("bIsToA").get(0).getCode(), is("RelationshipType.bIsToA.required")); } /** @@ -79,16 +87,19 @@ public void validate_shouldFailValidationIfDescriptionIsNullOrEmptyOrWhitespace( Errors errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("RelationshipType.description.required")); type.setDescription(""); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("RelationshipType.description.required")); type.setDescription(" "); errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("RelationshipType.description.required")); } /** @@ -154,8 +165,15 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(type, "type"); new RelationshipTypeValidator().validate(type, errors); assertTrue(errors.hasFieldErrors("aIsToB")); + assertThat(errors.getFieldErrors("aIsToB").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("bIsToA")); + assertThat(errors.getFieldErrors("bIsToA").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/RelationshipValidatorTest.java b/api/src/test/java/org/openmrs/validator/RelationshipValidatorTest.java index 4a41b7d30412..28668ef0faaa 100644 --- a/api/src/test/java/org/openmrs/validator/RelationshipValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/RelationshipValidatorTest.java @@ -9,6 +9,9 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -17,6 +20,7 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import org.junit.jupiter.api.Test; import org.openmrs.Relationship; @@ -44,6 +48,7 @@ public void validate_shouldFailIfEndDateIsBeforeStartDate() throws ParseExceptio MapBindingResult errors = new MapBindingResult(map, Relationship.class.getName()); new RelationshipValidator().validate(relationship, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("Relationship.InvalidEndDate.error")); } /** @@ -87,6 +92,7 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(relationship, "relationship"); new RelationshipValidator().validate(relationship, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } /** @@ -103,6 +109,7 @@ public void validate_shouldFailIfStartDateIsInFuture() { relationship.setStartDate(nextYear); new RelationshipValidator().validate(relationship, errors); assertTrue(errors.hasErrors()); + assertThat(errors.getAllErrors().get(0).getCode(), is("error.date.future")); } /** diff --git a/api/src/test/java/org/openmrs/validator/RequireNameValidatorTest.java b/api/src/test/java/org/openmrs/validator/RequireNameValidatorTest.java index 11e0598a8c58..55bfc729a2a8 100644 --- a/api/src/test/java/org/openmrs/validator/RequireNameValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/RequireNameValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -34,16 +36,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(role, "type"); new RequireNameValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); role.setName(""); errors = new BindException(role, "type"); new RequireNameValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); role.setName(" "); errors = new BindException(role, "type"); new RequireNameValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.name")); } /** diff --git a/api/src/test/java/org/openmrs/validator/RoleValidatorTest.java b/api/src/test/java/org/openmrs/validator/RoleValidatorTest.java index d5ef6d024b44..1925cf73c652 100644 --- a/api/src/test/java/org/openmrs/validator/RoleValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/RoleValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -19,6 +21,8 @@ import org.springframework.validation.BindException; import org.springframework.validation.Errors; +import java.util.Objects; + /** * Tests methods on the {@link RoleValidator} class. */ @@ -41,11 +45,13 @@ public void validate_shouldFailValidationIfRoleIsNullOrEmptyOrWhitespace() { errors = new BindException(role, "role"); new RoleValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("role")); + assertThat(errors.getFieldErrors("role").get(0).getCode(), is("error.role")); role.setRole(" "); errors = new BindException(role, "role"); new RoleValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("role")); + assertThat(errors.getFieldErrors("role").get(0).getCode(), is("error.role")); } /** @@ -84,13 +90,13 @@ public void validate_shouldFailValidationIfRoleHasLeadingOrTrailingSpace() { Errors errors = new BindException(role, "type"); new RoleValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("role")); - assertEquals("error.trailingSpaces", errors.getFieldError("role").getCode()); + assertThat(errors.getFieldErrors("role").get(0).getCode(), is("error.trailingSpaces")); role.setRole("Bowling race car driver "); errors = new BindException(role, "role"); new RoleValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("role")); - assertEquals("error.trailingSpaces", errors.getFieldError("role").getCode()); + assertThat(errors.getFieldErrors("role").get(0).getCode(), is("error.trailingSpaces")); } /** @@ -138,5 +144,6 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new RoleValidator().validate(role, errors); assertTrue(errors.hasFieldErrors("role")); + assertThat(errors.getFieldErrors("role").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/SchedulerFormValidatorTest.java b/api/src/test/java/org/openmrs/validator/SchedulerFormValidatorTest.java index 973c477c3971..d8fe2111e0be 100644 --- a/api/src/test/java/org/openmrs/validator/SchedulerFormValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/SchedulerFormValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -37,16 +39,19 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() { Errors errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("Scheduler.taskForm.required")); def.setName(""); errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("Scheduler.taskForm.required")); def.setName(" "); errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("Scheduler.taskForm.required")); } /** @@ -62,11 +67,13 @@ public void validate_shouldFailValidationIfTaskClassIsEmptyOrWhitespace() { Errors errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("taskClass")); + assertThat(errors.getFieldErrors("taskClass").get(0).getCode(), is("Scheduler.taskForm.required")); def.setTaskClass(" "); errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("taskClass")); + assertThat(errors.getFieldErrors("taskClass").get(0).getCode(), is("Scheduler.taskForm.required")); } /** @@ -81,11 +88,13 @@ public void validate_shouldFailValidationIfRepeatIntervalIsNullOrEmptyOrWhitespa Errors errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("repeatInterval")); + assertThat(errors.getFieldErrors("repeatInterval").get(0).getCode(), is("Scheduler.taskForm.required")); def.setTaskClass(" "); errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); assertTrue(errors.hasFieldErrors("repeatInterval")); + assertThat(errors.getFieldErrors("repeatInterval").get(0).getCode(), is("Scheduler.taskForm.required")); } /** @@ -208,10 +217,17 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(def, "def"); new SchedulerFormValidator().validate(def, errors); - + assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("taskClass")); + assertThat(errors.getFieldErrors("taskClass").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("startTimePattern")); + assertThat(errors.getFieldErrors("startTimePattern").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/StateConversionValidatorTest.java b/api/src/test/java/org/openmrs/validator/StateConversionValidatorTest.java index 4a62bfa44d60..42a77b41b2a2 100644 --- a/api/src/test/java/org/openmrs/validator/StateConversionValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/StateConversionValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -39,6 +41,7 @@ public void validate_shouldFailValidationIfConceptIsNullOrEmptyOrWhitespace() { new StateConversionValidator().validate(csc, errors); assertTrue(errors.hasFieldErrors("concept")); + assertThat(errors.getFieldErrors("concept").get(0).getCode(), is("error.concept")); } /** @@ -57,6 +60,7 @@ public void validate_shouldFailValidationIfProgramWorkflowIsNullOrEmptyOrWhitesp new StateConversionValidator().validate(csc, errors); assertTrue(errors.hasFieldErrors("programWorkflow")); + assertThat(errors.getFieldErrors("programWorkflow").get(0).getCode(), is("error.programWorkflow")); } /** @@ -75,6 +79,7 @@ public void validate_shouldFailValidationIfProgramWorkflowStateIsNullOrEmptyOrWh new StateConversionValidator().validate(csc, errors); assertTrue(errors.hasFieldErrors("programWorkflowState")); + assertThat(errors.getFieldErrors("programWorkflowState").get(0).getCode(), is("error.programWorkflowState")); } /** diff --git a/api/src/test/java/org/openmrs/validator/VisitAttributeTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/VisitAttributeTypeValidatorTest.java index 5d2fe9020f97..bffdb33cd20d 100644 --- a/api/src/test/java/org/openmrs/validator/VisitAttributeTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/VisitAttributeTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -62,9 +64,18 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new VisitAttributeTypeValidator().validate(visitAttributeType, errors); assertTrue(errors.hasFieldErrors("name")); - assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("datatypeClassname")); + assertThat(errors.getFieldErrors("datatypeClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("preferredHandlerClassname")); + assertThat(errors.getFieldErrors("preferredHandlerClassname").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/VisitTypeValidatorTest.java b/api/src/test/java/org/openmrs/validator/VisitTypeValidatorTest.java index 4a0810190633..dc9ded6dde14 100644 --- a/api/src/test/java/org/openmrs/validator/VisitTypeValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/VisitTypeValidatorTest.java @@ -9,6 +9,8 @@ */ package org.openmrs.validator; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -53,7 +55,12 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { new VisitTypeValidator().validate(visitType, errors); assertTrue(errors.hasFieldErrors("name")); + assertThat(errors.getFieldErrors("name").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("description")); + assertThat(errors.getFieldErrors("description").get(0).getCode(), is("error.exceededMaxLengthOfField")); + assertTrue(errors.hasFieldErrors("retireReason")); + assertThat(errors.getFieldErrors("retireReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } } diff --git a/api/src/test/java/org/openmrs/validator/VisitValidatorTest.java b/api/src/test/java/org/openmrs/validator/VisitValidatorTest.java index feb9b30b570a..a49bc0b8906e 100755 --- a/api/src/test/java/org/openmrs/validator/VisitValidatorTest.java +++ b/api/src/test/java/org/openmrs/validator/VisitValidatorTest.java @@ -11,6 +11,7 @@ import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -145,6 +146,7 @@ public void validate_shouldFailIfPatientIsNotSet() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("patient")); + assertThat(errors.getFieldErrors("patient").get(0).getCode(), is("Visit.error.patient.required")); } /** @@ -159,6 +161,7 @@ public void validate_shouldFailIfStartDatetimeIsNotSet() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("startDatetime")); + assertThat(errors.getFieldErrors("startDatetime").get(0).getCode(), is("Visit.error.startDate.required")); } /** @@ -172,6 +175,7 @@ public void validate_shouldFailIfVisitTypeIsNotSet() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("visitType")); + assertThat(errors.getFieldErrors("visitType").get(0).getCode(), is("Visit.error.visitType.required")); } /** @@ -187,6 +191,7 @@ public void validate_shouldFailIfTheEndDatetimeIsBeforeTheStartDatetime() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); + assertThat(errors.getFieldErrors("stopDatetime").get(0).getCode(), is("Visit.error.endDateBeforeStartDate")); } /** @@ -210,6 +215,7 @@ public void validate_shouldFailIfTheStartDatetimeIsAfterAnyEncounter() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("startDatetime")); + assertThat(errors.getFieldErrors("startDatetime").get(0).getCode(), is("Visit.encountersCannotBeBeforeStartDate")); } /** @@ -233,6 +239,7 @@ public void validate_shouldFailIfTheStopDatetimeIsBeforeAnyEncounter() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); + assertThat(errors.getFieldErrors("stopDatetime").get(0).getCode(), is("Visit.error.endDateBeforeStartDate")); } /** @@ -269,6 +276,7 @@ public void validate_shouldRejectAVisitIfStartDateTimeIsEqualToStartDateTimeOfAn new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("startDatetime")); + assertThat(errors.getFieldErrors("startDatetime").get(0).getCode(), is("Visit.startCannotBeTheSameAsOtherStartDateOfTheSamePatient")); } /** @@ -286,6 +294,7 @@ public void validate_shouldRejectAVisitIfStartDateTimeFallsIntoAnotherVisitOfThe new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("startDatetime")); + assertThat(errors.getFieldErrors("startDatetime").get(0).getCode(), is("Visit.startDateCannotFallIntoAnotherVisitOfTheSamePatient")); } /** @@ -306,6 +315,7 @@ public void validate_shouldRejectAVisitIfStopDateTimeFallsIntoAnotherVisitOfTheS new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); + assertThat(errors.getFieldErrors("stopDatetime").get(0).getCode(), is("Visit.stopDateCannotFallIntoAnotherVisitOfTheSamePatient")); } /** @@ -326,6 +336,7 @@ public void validate_shouldRejectAVisitIfItContainsAnotherVisitOfTheSamePatient( new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("stopDatetime")); + assertThat(errors.getFieldErrors("stopDatetime").get(0).getCode(), is("Visit.visitCannotContainAnotherVisitOfTheSamePatient")); } /** @@ -456,6 +467,7 @@ public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Errors errors = new BindException(visit, "visit"); new VisitValidator().validate(visit, errors); assertTrue(errors.hasFieldErrors("voidReason")); + assertThat(errors.getFieldErrors("voidReason").get(0).getCode(), is("error.exceededMaxLengthOfField")); } @Test