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

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

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

  private Safra banco;
  private Beneficiario beneficiario;
  private Boleto boleto;

  @Before
  public void setup() {
    Datas datas = Datas.novasDatas()
            .comDocumento(25, 07, 2013)
            .comVencimento(26, 07, 2013)
            .comProcessamento(25, 07, 2013);

    this.beneficiario = Beneficiario.novoBeneficiario()
            .comNomeBeneficiario("Supermercado e Comercio XYZ LTDA")
            .comAgencia("1")
            .comDigitoAgencia("8")
            .comCodigoBeneficiario("1245")
            .comDigitoCodigoBeneficiario("1")
            .comNossoNumero("4")
            .comDigitoNossoNumero("3");

    Pagador pagador = Pagador.novoPagador()
            .comNome("Distribuidora de Alimentos SSH LTDA");

    banco = new Safra();

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

  @Test
  public void numeroDoBancoDeveTerTresDigitos() {
    assertEquals(banco.getNumeroFormatado().length(), 3);
  }

  @Test
  public void contaCorrenteDoEmissorDeveTerNoveDigitos() {
    assertEquals(9, this.banco.getCodigoBeneficiarioFormatado(this.beneficiario).length());
  }

  @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 nossoNumeroDoEmissorDeveTerNoveDigitos() {
    assertEquals(9, this.banco.getNossoNumeroFormatado(this.beneficiario).length());
  }

  @Test
  public void numeroDoBancoComODigitoDeveTerCincoDigitos() {
    String numeroDoBanco = this.banco.getNumeroFormatadoComDigito();
    assertEquals("422-7", numeroDoBanco);
    assertEquals(5, numeroDoBanco.length());
  }

  @Test
  public void dadoOsDadosDoBancoEDoEmissorDeveGerarALinhaDigitavelDoCodigoDeBarras() {
    this.boleto = this.boleto.comBanco(this.banco);

    GeradorDeLinhaDigitavel linhaDigitavelGenerator = new GeradorDeLinhaDigitavel();
    String codigoDeBarras = boleto.getBanco().geraCodigoDeBarrasPara(this.boleto);

    assertEquals("42297.00002  10000.124510  00000.000422  4  57710000001980", linhaDigitavelGenerator.geraLinhaDigitavelPara(codigoDeBarras,this.banco));
  }

  @Test
  public void dadoOBancoEAMoedaODigitoVerificadorDaPosicaoCincoDeveSerQuatro() {
    this.boleto = this.boleto.comBanco(this.banco);

    String linhaCodigoDeBarras = this.banco.geraCodigoDeBarrasPara(this.boleto);

    assertEquals("4", linhaCodigoDeBarras.substring(4, 5));
  }

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

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

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.