Package br.com.caelum.stella.boleto.bancos

Source Code of br.com.caelum.stella.boleto.bancos.BancoDoBrasilTest

package br.com.caelum.stella.boleto.bancos;

import org.junit.Before;
import org.junit.Test;

import br.com.caelum.stella.boleto.Beneficiario;
import br.com.caelum.stella.boleto.Boleto;
import br.com.caelum.stella.boleto.Datas;
import br.com.caelum.stella.boleto.Pagador;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

public class BancoDoBrasilTest {

  private Boleto boleto;
  private BancoDoBrasil banco;
  private Beneficiario beneficiario;

  @Before
  public void setUp() {
    Datas datas = Datas.novasDatas().comDocumento(4, 5, 2008).comProcessamento(4, 5, 2008)
        .comVencimento(2, 5, 2008);

    this.beneficiario = Beneficiario.novoBeneficiario().comNomeBeneficiario("Caue")
        .comAgencia("1824").comDigitoAgencia("4")
        .comCodigoBeneficiario("76000")
        .comNumeroConvenio("1207113")
        .comDigitoCodigoBeneficiario("5")
        .comCarteira("18")
        .comNossoNumero("9000206");

    Pagador pagador = Pagador.novoPagador().comNome("Fulano");

    this.banco = new BancoDoBrasil();

    this.boleto = Boleto.novoBoleto().comDatas(datas).comBeneficiario(this.beneficiario).comPagador(pagador)
        .comValorBoleto("40.00").comNumeroDoDocumento("4323");
  }

  @Test
  public void numeroDoConvenioFormatadoDeveTerSeisDigitos() {
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNumeroConvenio("1234");
   
    String numeroFormatado = this.banco.getNumeroConvenioFormatado(beneficiario);
    assertEquals(6, numeroFormatado.length());
    assertEquals("001234", numeroFormatado);
  }

  @Test
  public void nossoNumeroFormatadoDeveTerOnzeDigitos() {
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNossoNumero("9000206").comCarteira("11");
    String numeroFormatado = this.banco.getNossoNumeroFormatado(beneficiario);
    assertEquals(11, numeroFormatado.length());
    assertEquals("00009000206", numeroFormatado);
  }

  @Test
  public void nossoNumeroFormatadoDeveTerDezesseteDigitosComCarteira18() {
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNossoNumero("9000206").comCarteira("18");
    String numeroFormatado = this.banco.getNossoNumeroFormatado(beneficiario);
    assertEquals(17, numeroFormatado.length());
    assertEquals("00000000009000206", numeroFormatado);
  }

  @Test
  public void carteiraFormatadoDeveTerDoisDigitos() {
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comCarteira("1");
    String numeroFormatado = this.banco.getCarteiraFormatado(beneficiario);
    assertEquals(2, numeroFormatado.length());
    assertEquals("01", numeroFormatado);
  }

  @Test
  public void contaCorrenteFormatadaDeveTerOitoDigitos() {
    String numeroFormatado = this.banco.getCodigoBeneficiarioFormatado(this.beneficiario);
    assertEquals(8, numeroFormatado.length());
    assertEquals("00076000", numeroFormatado);
  }

  @Test
  public void testNumeroFormatadoNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("001", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(0, 3));
  }

  @Test
  public void testCodEspecieMoedaNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("9", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(3, 4));
  }

  @Test
  public void testDigitoVerificadorNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("5", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(4, 5));
  }

  @Test
  public void testFatorVencimentoNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("3860", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(5, 9));
  }

  @Test
  public void testValorNominalNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("0000004000", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(9, 19));
  }

  @Test
  public void testCampoLivreNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("0000001207113000900020618", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(19, 44));
  }

  @Test
  public void testZerosNoCampoLivreNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("000000", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(19, 25));
  }

  @Test
  public void testNumConvenioFormatadoNoCampoLivreNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("1207113", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(25, 32));
  }

  @Test
  public void testNossoNumeroFormatadoNoCampoLivreNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("0009000206", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(32, 42));
  }

  @Test
  public void testCarteiraNoCampoLivreNoCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("18", this.banco.geraCodigoDeBarrasPara(this.boleto).substring(42, 44));
  }

  @Test
  public void testCodigoDeBarraDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);

    assertEquals("00195386000000040000000001207113000900020618", this.banco.geraCodigoDeBarrasPara(this.boleto));
  }

  @Test
  public void testLinhaDoBancoDoBrasil() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);
    GeradorDeLinhaDigitavel linhaDigitavelGenerator = new GeradorDeLinhaDigitavel();
    String codigoDeBarras = boleto.getBanco().geraCodigoDeBarrasPara(this.boleto);

    assertEquals("00190.00009  01207.113000  09000.206186  5  38600000004000",
        linhaDigitavelGenerator.geraLinhaDigitavelPara(codigoDeBarras,this.banco));
  }

  @Test
  public void testGetImage() {
    assertNotNull(this.banco.getImage());
  }

  @Test
  public void testCarteira17ComConvenioSeteDigitosMaior1000000() {
    this.banco = new BancoDoBrasil();
    this.boleto = this.boleto.comBanco(this.banco);
   
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNumeroConvenio("2670001").comCarteira("17");
    this.boleto.comBeneficiario(beneficiario);

    assertEquals("00191386000000040000000002670001000000000017", this.banco.geraCodigoDeBarrasPara(boleto));
  }

}
TOP

Related Classes of br.com.caelum.stella.boleto.bancos.BancoDoBrasilTest

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.