I have a class:
@Component
public class ContractorFormValidator implements Validator {
Logger logger = LoggerFactory.getLogger(ContractorFormValidator.class);
@Inject IBusinessDataValidator businessDataValidator;
@Override
public boolean supports(Class<?> clazz) {
return Contractor.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
Contractor contractor = (Contractor) target;
if (!businessDataValidator.isNipValid(contractor.getContractorData().getNip())) {
errors.rejectValue("contractorData.nip", "invalid");
}
if (!businessDataValidator.isRegonValid(contractor.getContractorData().getRegon())) {
errors.rejectValue("contractorData.regon", "invalid");
}
}
}
How can I test it? I have tried this: How to test validation annotations of a class using JUnit? but this doesn't work cause the validate
method in my validator requires Errors
class passed to it's method signature.
I have no Idea if I can pass this Errors
object to the validator. Is there any other way?