Package br.com.caelum.stella.boleto.transformer

Source Code of br.com.caelum.stella.boleto.transformer.BoletoTransformerIntegrationTest

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

import java.io.File;
import java.io.IOException;
import java.util.Locale;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;

import br.com.caelum.stella.boleto.Banco;
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.Endereco;
import br.com.caelum.stella.boleto.Pagador;
import br.com.caelum.stella.boleto.bancos.BancoDoBrasil;

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

/**
* Teste de INTEGRACAO apesar de estar no de unidade FIXME
*
*/
public class BoletoTransformerIntegrationTest{

    private Boleto boleto;

  @Before
  public void setUp() {

    Locale.setDefault(new Locale("pt", "br"));

    apagaArquivosGerados();

    Datas datas = Datas.novasDatas().comDocumento(4, 5, 2008).comProcessamento(4, 5, 2008)
        .comVencimento(2, 5, 2008);
    Beneficiario beneficiario = Beneficiario.novoBeneficiario().comNomeBeneficiario("Caue").comAgencia("1824").comDigitoAgencia("4")
        .comCodigoBeneficiario("76000").comNumeroConvenio("1207113").comDigitoCodigoBeneficiario("5").comCarteira("18")
        .comNossoNumero("9000206");

    Endereco endereco = new Endereco("Av dos testes, 111 apto 333", "Bairro Teste", "01234-111", "São Paulo", "SP");

    Pagador pagador = Pagador.novoPagador().comNome("Fulano da Silva").comDocumento("111.222.333-12")
        .comEndereco(endereco);

    String[] descricoes = { "descricao 1", "descricao 2", "descricao 3", "descricao 4", "descricao 5" };

    String[] locaisDePagamento = { "local 1", "local 2" };

    String[] instrucoes = { "instrucao 1", "instrucao 2", "instrucao 3", "instrucao 4", "instrucao 5" };

    Banco banco = new BancoDoBrasil();

    boleto = Boleto.novoBoleto().comBanco(banco).comDatas(datas).comDescricoes(descricoes).comBeneficiario(beneficiario)
        .comPagador(pagador).comValorBoleto("40.00").comNumeroDoDocumento("4323").comInstrucoes(instrucoes)
        .comLocaisDePagamento(locaisDePagamento);

    GeradorDeBoleto generator = new GeradorDeBoleto(boleto);

    generator.geraPDF("arquivo.pdf");
    generator.geraPNG("arquivo.png");

  }

  @Test
  public void testPDFWriterGeneration() {
    assertTrue(new File("arquivo.pdf").exists());
  }

  @Test
  public void testPDFWriterEscreveValorCorreto() throws IOException {
    PDFTextStripper stripper = new PDFTextStripper();

    PDDocument document = PDDocument.load(new File("arquivo.pdf"));
    String text = stripper.getText(document);
    document.close();
    assertTrue(text.contains("40,00"));
  }

  @Test
  public void testPDFWriterEscreveLinhaDigitavelCorreta() throws IOException {
    PDFTextStripper stripper = new PDFTextStripper();

    PDDocument document = PDDocument.load(new File("arquivo.pdf"));
    String text = stripper.getText(document);
    document.close();

    assertTrue(text.contains("00190.00009  01207.113000  09000.206186  5  38600000004000"));
  }

  @Test
  public void testPNGWriteGeneration() {
    assertTrue(new File("arquivo.png").exists());
  }

    @Test
    public void testByteArrayGeneration() {
        GeradorDeBoleto geradorDeBoleto = new GeradorDeBoleto(this.boleto);
        assertNotNull(geradorDeBoleto.geraPDF());
        assertNotNull(geradorDeBoleto.geraPNG());
    }

  @After
  public void apagaArquivosGerados() {
    final File pngFile = new File("arquivo.png");
    final File pdfFile = new File("arquivo.pdf");
    apagaArquivoSeExistir(pngFile);
    apagaArquivoSeExistir(pdfFile);
  }

  private void apagaArquivoSeExistir(final File pngFile) {
    if (pngFile.exists()) {
      pngFile.delete();
    }
  }

}
TOP

Related Classes of br.com.caelum.stella.boleto.transformer.BoletoTransformerIntegrationTest

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.