/* * Copyright 2012 SURFnet bv, The Netherlands * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package teams.control; import org.junit.Test; import org.springframework.mock.web.MockMultipartFile; import org.springframework.validation.BeanPropertyBindingResult; import org.springframework.validation.Errors; import org.springframework.web.multipart.MultipartFile; import teams.control.InvitationForm; import teams.control.InvitationFormValidator; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * Test for {@link InvitationForm} */ public class InvitationFormValidatorTest { private InvitationFormValidator validator = new InvitationFormValidator(); @Test public void testSupports() throws Exception { assertTrue(validator.supports(InvitationForm.class)); } @Test public void testValidateForEmailsInput() throws Exception { InvitationForm form = new InvitationForm(); form.setEmails("test@example.com"); Errors errors = new BeanPropertyBindingResult(form, "invitationForm"); validator.validate(form, errors); assertEquals(0, errors.getErrorCount()); form.setEmails("test@example.com, test@example.net"); validator.validate(form, errors); assertEquals(0, errors.getErrorCount()); } @Test public void testValidateForCSVInput() throws Exception { InvitationForm form = new InvitationForm(); String mails = "test@example.com,test@example.net,john.doe@example.org"; MultipartFile mockFile = new MockMultipartFile("mockFile", "test.csv", "text/csv", mails.getBytes("utf-8")); form.setCsvFile(mockFile); Errors errors = new BeanPropertyBindingResult(form, "invitationForm"); validator.validate(form, errors); assertEquals(0, errors.getErrorCount()); } @Test public void testValidationFails() throws Exception { InvitationForm form = new InvitationForm(); form.setEmails("must.be,valid@example.com"); Errors errors = new BeanPropertyBindingResult(form, "invitationForm"); validator.validate(form, errors); assertEquals(1, errors.getErrorCount()); } }