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

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

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 CaixaTest {

  private Boleto boleto;
  private Caixa banco = new Caixa();
  private Beneficiario beneficiario;
  private Boleto outroBoleto;

  @Before
  public void setUp() {

    ///////////////////////////////////////////////////////////////////
    // SET UP de boleto com carteira SINCO
    ///////////////////////////////////////////////////////////////////

    Datas datas = Datas.novasDatas().comDocumento(22, 04, 2013)
      .comProcessamento(22, 04, 2013).comVencimento(29, 04, 2013);

    this.beneficiario = Beneficiario.novoBeneficiario().comNomeBeneficiario("Rodrigo Turini")
      .comAgencia("2873").comCarteira("1")
      .comCodigoBeneficiario("2359").comNossoNumero("990000000003994458")
      .comDigitoNossoNumero("0");

    Pagador pagador = Pagador.novoPagador().comNome("Mario Amaral");

    this.boleto = Boleto.novoBoleto().comDatas(datas)
      .comBeneficiario(beneficiario).comBanco(this.banco).comPagador(pagador)
      .comValorBoleto(4016.10).comNumeroDoDocumento("3084373");
   
    ///////////////////////////////////////////////////////////////////
    // SET UP de boleto com carteira Sem Registro e Registrada no SIGCB
    ///////////////////////////////////////////////////////////////////
   
    Datas datasOutroBoleto = Datas.novasDatas().comDocumento(21, 8, 2012)
        .comProcessamento(21, 8, 2012).comVencimento(04, 9, 2012);

    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNomeBeneficiario("Guilherme")
      .comAgencia("589").comCarteira("2")
      .comCodigoBeneficiario("290274").comDigitoCodigoBeneficiario("5")
      .comNossoNumero("24900000000000132")
      .comDigitoNossoNumero("3");

    Pagador pagadorOutroBoleto = Pagador.novoPagador().comNome("Paulo");

    this.outroBoleto = Boleto.novoBoleto().comDatas(datasOutroBoleto)
      .comBeneficiario(beneficiario).comBanco(banco).comPagador(pagadorOutroBoleto)
      .comValorBoleto(80.00).comNumeroDoDocumento("00000000132");
  }


  @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 contaCorrenteFormatadaDeveTerCincoDigitos() {
    String numeroFormatado = this.banco
      .getCodigoBeneficiarioFormatado(this.beneficiario);
    assertEquals(5, numeroFormatado.length());
    assertEquals("02359", numeroFormatado);
  }

  @Test
  public void testLinhaDoBancoCaixaComCarteiraSINCO() {
    GeradorDeLinhaDigitavel gerador = new GeradorDeLinhaDigitavel();
    String codigoDeBarras = boleto.getBanco().geraCodigoDeBarrasPara(this.boleto);
    String linha = "10491.00231  59990.000008  00039.944582  2  56830000401610";
    assertEquals(linha, gerador.geraLinhaDigitavelPara(codigoDeBarras,this.banco));
  }

  @Test
  public void testCodigoDeBarraDoBancoCaixaComCarteiraSINCO() {
    assertEquals("10492568300004016101002359990000000003994458",
        this.banco.geraCodigoDeBarrasPara(this.boleto));
  }

  @Test
  public void testLinhaDoBancoCaixaComCarteiraSICGB() {
    GeradorDeLinhaDigitavel gerador = new GeradorDeLinhaDigitavel();
    String codigoDeBarras = outroBoleto.getBanco().geraCodigoDeBarrasPara(outroBoleto);
    String linha = "10492.90271  45900.200044  00000.013227  9  54460000008000";
    assertEquals(linha, gerador.geraLinhaDigitavelPara(codigoDeBarras,this.banco));
  }

  @Test
  public void testCodigoDeBarraDoBancoCaixaComCarteiraSICGB() {
    assertEquals("10499544600000080002902745900200040000001322",
        this.banco.geraCodigoDeBarrasPara(this.outroBoleto));
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void deveLancarExceptionSeCarteiraNaoForSuportada() throws Exception {
    this.outroBoleto.getBeneficiario().comCarteira("3");
    assertEquals("10499544600000080002902745900200040000001322",
        this.banco.geraCodigoDeBarrasPara(this.outroBoleto));
  }
 
  @Test
  public void testGetImage() {
    assertNotNull(this.banco.getImage());
  }
}
TOP

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

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.