package org.synyx.urlaubsverwaltung.web.sicknote; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.springframework.validation.Errors; import org.synyx.urlaubsverwaltung.core.sicknote.SickNote; /** * Unit test for {@link SickNoteConvertFormValidator}. * * @author Aljona Murygina - murygina@synyx.de */ public class SickNoteConvertFormValidatorTest { private SickNoteConvertFormValidator validator; private Errors errors; @Before public void setUp() { validator = new SickNoteConvertFormValidator(); errors = Mockito.mock(Errors.class); } @Test public void ensureNullReasonIsNotValid() { SickNoteConvertForm convertForm = new SickNoteConvertForm(new SickNote()); convertForm.setReason(null); validator.validate(convertForm, errors); Mockito.verify(errors).rejectValue("reason", "error.entry.mandatory"); } @Test public void ensureEmptyReasonIsNotValid() { SickNoteConvertForm convertForm = new SickNoteConvertForm(new SickNote()); convertForm.setReason(""); validator.validate(convertForm, errors); Mockito.verify(errors).rejectValue("reason", "error.entry.mandatory"); } @Test public void ensureThereIsAMaximumCharLengthForReason() { SickNoteConvertForm convertForm = new SickNoteConvertForm(new SickNote()); convertForm.setReason( "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt" + " ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud " + "exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. "); validator.validate(convertForm, errors); Mockito.verify(errors).rejectValue("reason", "error.entry.tooManyChars"); } }