Package accounts.web

Source Code of accounts.web.AccountValidatorTests

package accounts.web;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.validation.Errors;
import org.springframework.validation.FieldError;

import accounts.Account;
import accounts.AccountManager;

@RunWith(JUnit4.class)
public class AccountValidatorTests {

  private AccountValidator validator;

  @Before
  public void setUp() throws Exception {
    AccountManager accountManager = new StubAccountManager();
    validator = new AccountValidator(accountManager);
  }

  @Test
  public void testSupportsTrue() {
    assertTrue("Should support an Account class", validator.supports(Account.class));
  }

  @Test
  public void testSupportsFalse() {
    assertFalse("Should not support and AccountValidator class", validator.supports(AccountValidator.class));
  }

  @Test
  public void testNumberInUseBySameAccount() {
    Account account = new Account("123456789", "Keith and Keri Donald");
    account.setEntityId(0L);
    Errors errors = new BeanPropertyBindingResult(account, "account");
    validator.validate(account, errors);
    assertEquals("No errors should be registered", 0, errors.getErrorCount());
  }

  @Test
  public void testNumberInUseByAnotherAccount() {
    Account account = new Account("123456001", "Keith and Keri Donald");
    account.setEntityId(0L);
    Errors errors = new BeanPropertyBindingResult(account, "account");
    validator.validate(account, errors);
    assertEquals("One error should be registered", 1, errors.getErrorCount());
    FieldError error = errors.getFieldError("number");
    assertNotNull(error);
    assertEquals("account.number.inuse", error.getCode());
  }

  @Test
  public void testNumberDoesNotExist() {
    Account account = new Account("100", "Anything");
    account.setEntityId(0L);
    Errors errors = new BeanPropertyBindingResult(account, "account");
    validator.validate(account, errors);
    assertEquals("No errors should be registered", 0, errors.getErrorCount());
  }

  @Test
  public void testNoNumberProvided() {
    Account account = new Account("", "");
    account.setEntityId(0L);
    Errors errors = new BeanPropertyBindingResult(account, "account");
    validator.validate(account, errors);
    assertEquals("No errors should be registered", 0, errors.getErrorCount());
  }

}
TOP

Related Classes of accounts.web.AccountValidatorTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.