Skip to content

Commit

Permalink
TRUNK-3816
Browse files Browse the repository at this point in the history
  • Loading branch information
lluismf authored and wluyima committed Feb 6, 2013
1 parent 573b613 commit 69448c0
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 14 deletions.
4 changes: 2 additions & 2 deletions api/src/main/java/org/openmrs/validator/ProgramValidator.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ public class ProgramValidator implements Validator {
*
* @see org.springframework.validation.Validator#supports(java.lang.Class)
*/
@SuppressWarnings("unchecked")
public boolean supports(Class c) {
public boolean supports(Class<?> c) {
return c.equals(Program.class);
}

Expand All @@ -50,6 +49,7 @@ public boolean supports(Class c) {
* @see org.springframework.validation.Validator#validate(java.lang.Object,
* org.springframework.validation.Errors)
* @should fail validation if name is null or empty or whitespace
* @should fail validation if description is null or empty or whitespace
* @should fail validation if program name already in use
* @should fail validation if concept is null or empty or whitespace
* @should pass validation if all required fields have proper values
Expand Down
40 changes: 28 additions & 12 deletions api/src/test/java/org/openmrs/validator/ProgramValidatorTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@
import org.openmrs.api.context.Context;
import org.openmrs.test.BaseContextSensitiveTest;
import org.openmrs.test.Verifies;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

/**
* Tests methods on the {@link ProgramValidator} class.
*/
public class ProgramValidatorTest extends BaseContextSensitiveTest {

@Autowired
protected Validator programValidator;

/**
* @see {@link ProgramValidator#validate(Object,Errors)}
*/
Expand All @@ -25,17 +30,17 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() throw
prog.setConcept(Context.getConceptService().getConcept(3));

Errors errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("name"));

prog.setName("");
errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("name"));

prog.setName(" ");
errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("name"));
}

Expand All @@ -46,27 +51,38 @@ public void validate_shouldFailValidationIfNameIsNullOrEmptyOrWhitespace() throw
@Verifies(value = "should fail validation if program name already in use", method = "validate(Object,Errors)")
public void validate_shouldFailValidationIfProgramNameAlreadyInUse() throws Exception {
Program prog = new Program();
prog.setName("MDR-TB PROGRAM");
prog.setName("MDR program");
prog.setConcept(Context.getConceptService().getConcept(3));

Errors errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("name"));
}

/**
* @see {@link ProgramValidator#validate(Object,Errors)}
*/
@Test
@Verifies(value = "should pass validation if description is null or empty or whitespace", method = "validate(Object,Errors)")
public void validate_shouldPassValidationIfDescriptionIsNullOrEmptyOrWhitespace() throws Exception {
@Verifies(value = "should fail validation if description is null or empty or whitespace", method = "validate(Object,Errors)")
public void validate_shouldFailValidationIfDescriptionIsNullOrEmptyOrWhitespace() throws Exception {

Program prog = new Program();
prog.setName("Hypochondriasis program");
prog.setDescription(null);
prog.setConcept(Context.getConceptService().getConcept(3));

Errors errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
Assert.assertFalse(errors.hasFieldErrors("description"));
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("description"));

prog.setDescription("");
errors = new BindException(prog, "prog");
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("description"));

prog.setDescription(" ");
errors = new BindException(prog, "prog");
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("description"));
}

/**
Expand All @@ -80,7 +96,7 @@ public void validate_shouldFailValidationIfConceptIsNullOrEmptyOrWhitespace() th
prog.setConcept(null);

Errors errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);
Assert.assertTrue(errors.hasFieldErrors("concept"));
}

Expand All @@ -96,7 +112,7 @@ public void validate_shouldPassValidationIfAllRequiredFieldsHaveProperValues() t
prog.setConcept(Context.getConceptService().getConcept(3));

Errors errors = new BindException(prog, "prog");
new ProgramValidator().validate(prog, errors);
programValidator.validate(prog, errors);

Assert.assertFalse(errors.hasErrors());
}
Expand Down

0 comments on commit 69448c0

Please sign in to comment.