package io.konik.zugferd.entity;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Set;
import io.konik.zugferd.util.TestValidatorFactory;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import org.junit.Test;
@SuppressWarnings("javadoc")
public class FinancialAccountTest extends TestValidatorFactory {
private static Validator validator = TestValidatorFactory.getValidator();
@Test
public void validateHasIban(){
FinancialAccount account = new CreditorFinancialAccount("iban");
Set<ConstraintViolation<FinancialAccount>> validationResult = validator.validate(account);
assertThat(validationResult.isEmpty()).isTrue();
}
@Test
public void validateHasPropiataryId(){
FinancialAccount account = new CreditorFinancialAccount();
account.setProprietaryId("Prop ID");
Set<ConstraintViolation<FinancialAccount>> validationResult = validator.validate(account);
assertThat(validationResult.isEmpty()).isTrue();
}
@Test
public void validateDebtorHasNoValidateIbanOrPropiataryId(){
FinancialAccount account = new DebtorFinancialAccount();
Set<ConstraintViolation<FinancialAccount>> validationResult = validator.validate(account);
assertThat(validationResult.isEmpty()).isFalse();
assertThat(validationResult.size()).isEqualTo(1);
}
@Test
public void validateCreditorHasNoIbanOrPropiataryId(){
FinancialAccount account = new CreditorFinancialAccount();
Set<ConstraintViolation<FinancialAccount>> validationResult = validator.validate(account);
assertThat(validationResult.isEmpty()).isFalse();
assertThat(validationResult.size()).isEqualTo(1);
}
}