bbrcobranca 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +1 -0
- data/LICENSE +20 -0
- data/README.md +12 -0
- data/Rakefile +13 -0
- data/lib/bbrcobranca.rb +196 -0
- data/lib/bbrcobranca/arquivos/logos/bancobrasil.eps +5402 -0
- data/lib/bbrcobranca/arquivos/logos/bancobrasil_carne.eps +5410 -0
- data/lib/bbrcobranca/arquivos/logos/bancobrasilia.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/bancobrasilia_carne.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/banconordeste.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/banconordeste_carne.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/banestes.eps +5198 -0
- data/lib/bbrcobranca/arquivos/logos/banestes_carne.eps +5206 -0
- data/lib/bbrcobranca/arquivos/logos/banrisul.eps +121 -0
- data/lib/bbrcobranca/arquivos/logos/banrisul_carne.eps +121 -0
- data/lib/bbrcobranca/arquivos/logos/bradesco.eps +5210 -0
- data/lib/bbrcobranca/arquivos/logos/bradesco_carne.eps +5214 -0
- data/lib/bbrcobranca/arquivos/logos/caixa.eps +5111 -0
- data/lib/bbrcobranca/arquivos/logos/caixa_carne.eps +5115 -0
- data/lib/bbrcobranca/arquivos/logos/cecred.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/cecred_carne.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/credisis.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/credisis_carne.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/hsbc.eps +5124 -0
- data/lib/bbrcobranca/arquivos/logos/hsbc_carne.eps +5128 -0
- data/lib/bbrcobranca/arquivos/logos/itau.eps +5318 -0
- data/lib/bbrcobranca/arquivos/logos/itau_carne.eps +5322 -0
- data/lib/bbrcobranca/arquivos/logos/santander.eps +5305 -0
- data/lib/bbrcobranca/arquivos/logos/santander_carne.eps +5313 -0
- data/lib/bbrcobranca/arquivos/logos/sicoob.eps +5375 -0
- data/lib/bbrcobranca/arquivos/logos/sicoob_carne.eps +5379 -0
- data/lib/bbrcobranca/arquivos/logos/sicredi.eps +5379 -0
- data/lib/bbrcobranca/arquivos/logos/sicredi_carne.eps +5383 -0
- data/lib/bbrcobranca/arquivos/logos/unicred.eps +0 -0
- data/lib/bbrcobranca/arquivos/logos/unicred_carne.eps +0 -0
- data/lib/bbrcobranca/arquivos/templates/modelo_carne.eps +1112 -0
- data/lib/bbrcobranca/arquivos/templates/modelo_generico.eps +0 -0
- data/lib/bbrcobranca/boleto/banco_brasil.rb +157 -0
- data/lib/bbrcobranca/boleto/banco_brasilia.rb +102 -0
- data/lib/bbrcobranca/boleto/banco_nordeste.rb +79 -0
- data/lib/bbrcobranca/boleto/banestes.rb +85 -0
- data/lib/bbrcobranca/boleto/banrisul.rb +94 -0
- data/lib/bbrcobranca/boleto/base.rb +256 -0
- data/lib/bbrcobranca/boleto/bradesco.rb +99 -0
- data/lib/bbrcobranca/boleto/bradesco_grb.rb +85 -0
- data/lib/bbrcobranca/boleto/caixa.rb +121 -0
- data/lib/bbrcobranca/boleto/cecred.rb +86 -0
- data/lib/bbrcobranca/boleto/credisis.rb +116 -0
- data/lib/bbrcobranca/boleto/hsbc.rb +94 -0
- data/lib/bbrcobranca/boleto/itau.rb +138 -0
- data/lib/bbrcobranca/boleto/itau_adimplere.rb +159 -0
- data/lib/bbrcobranca/boleto/santander.rb +84 -0
- data/lib/bbrcobranca/boleto/santander_adimplere.rb +73 -0
- data/lib/bbrcobranca/boleto/sicoob.rb +119 -0
- data/lib/bbrcobranca/boleto/sicredi.rb +142 -0
- data/lib/bbrcobranca/boleto/template/base.rb +25 -0
- data/lib/bbrcobranca/boleto/template/rghost.rb +315 -0
- data/lib/bbrcobranca/boleto/template/rghost_carne.rb +317 -0
- data/lib/bbrcobranca/boleto/unicred.rb +141 -0
- data/lib/bbrcobranca/calculo.rb +115 -0
- data/lib/bbrcobranca/calculo_data.rb +62 -0
- data/lib/bbrcobranca/currency.rb +69 -0
- data/lib/bbrcobranca/formatacao.rb +103 -0
- data/lib/bbrcobranca/formatacao_string.rb +35 -0
- data/lib/bbrcobranca/limpeza.rb +20 -0
- data/lib/bbrcobranca/remessa/base.rb +76 -0
- data/lib/bbrcobranca/remessa/cnab240/banco_brasil.rb +246 -0
- data/lib/bbrcobranca/remessa/cnab240/base.rb +512 -0
- data/lib/bbrcobranca/remessa/cnab240/base_correspondente.rb +299 -0
- data/lib/bbrcobranca/remessa/cnab240/caixa.rb +163 -0
- data/lib/bbrcobranca/remessa/cnab240/cecred.rb +151 -0
- data/lib/bbrcobranca/remessa/cnab240/sicoob.rb +226 -0
- data/lib/bbrcobranca/remessa/cnab240/sicoob_banco_brasil.rb +94 -0
- data/lib/bbrcobranca/remessa/cnab240/sicredi.rb +177 -0
- data/lib/bbrcobranca/remessa/cnab240/unicred.rb +9 -0
- data/lib/bbrcobranca/remessa/cnab400/banco_brasil.rb +169 -0
- data/lib/bbrcobranca/remessa/cnab400/banco_brasilia.rb +166 -0
- data/lib/bbrcobranca/remessa/cnab400/banco_nordeste.rb +160 -0
- data/lib/bbrcobranca/remessa/cnab400/banrisul.rb +155 -0
- data/lib/bbrcobranca/remessa/cnab400/base.rb +119 -0
- data/lib/bbrcobranca/remessa/cnab400/bradesco.rb +130 -0
- data/lib/bbrcobranca/remessa/cnab400/citibank.rb +138 -0
- data/lib/bbrcobranca/remessa/cnab400/credisis.rb +128 -0
- data/lib/bbrcobranca/remessa/cnab400/itau.rb +157 -0
- data/lib/bbrcobranca/remessa/cnab400/santander.rb +231 -0
- data/lib/bbrcobranca/remessa/cnab400/sicoob.rb +308 -0
- data/lib/bbrcobranca/remessa/cnab400/unicred.rb +143 -0
- data/lib/bbrcobranca/remessa/pagamento.rb +288 -0
- data/lib/bbrcobranca/retorno/base.rb +49 -0
- data/lib/bbrcobranca/retorno/cnab240/base.rb +42 -0
- data/lib/bbrcobranca/retorno/cnab240/caixa.rb +48 -0
- data/lib/bbrcobranca/retorno/cnab240/cecred.rb +102 -0
- data/lib/bbrcobranca/retorno/cnab240/santander.rb +95 -0
- data/lib/bbrcobranca/retorno/cnab240/sicoob.rb +99 -0
- data/lib/bbrcobranca/retorno/cnab240/sicredi.rb +79 -0
- data/lib/bbrcobranca/retorno/cnab400/banco_brasil.rb +127 -0
- data/lib/bbrcobranca/retorno/cnab400/banco_brasilia.rb +89 -0
- data/lib/bbrcobranca/retorno/cnab400/banco_nordeste.rb +112 -0
- data/lib/bbrcobranca/retorno/cnab400/banrisul.rb +42 -0
- data/lib/bbrcobranca/retorno/cnab400/base.rb +50 -0
- data/lib/bbrcobranca/retorno/cnab400/bradesco.rb +124 -0
- data/lib/bbrcobranca/retorno/cnab400/credisis.rb +115 -0
- data/lib/bbrcobranca/retorno/cnab400/itau.rb +143 -0
- data/lib/bbrcobranca/retorno/cnab400/santander.rb +57 -0
- data/lib/bbrcobranca/retorno/cnab400/unicred.rb +118 -0
- data/lib/bbrcobranca/retorno/retorno_cbr643.rb +49 -0
- data/lib/bbrcobranca/retorno/retorno_cnab240.rb +97 -0
- data/lib/bbrcobranca/retorno/retorno_cnab400.rb +70 -0
- data/lib/bbrcobranca/util/date.rb +20 -0
- data/lib/bbrcobranca/util/empresa.rb +28 -0
- data/lib/bbrcobranca/util/errors.rb +76 -0
- data/lib/bbrcobranca/validations.rb +232 -0
- data/lib/bbrcobranca/version.rb +6 -0
- data/spec/arquivos/CBR64310.RET +28 -0
- data/spec/arquivos/CNAB240.RET +74 -0
- data/spec/arquivos/CNAB240CECRED.RET +10 -0
- data/spec/arquivos/CNAB240SANTANDER.RET +8 -0
- data/spec/arquivos/CNAB240SICOOB.RET +10 -0
- data/spec/arquivos/CNAB240SICREDI.CRT +8 -0
- data/spec/arquivos/CNAB400.RET +54 -0
- data/spec/arquivos/CNAB400BANCOBRASILIA.RET +3 -0
- data/spec/arquivos/CNAB400BANCONORDESTE.RET +3 -0
- data/spec/arquivos/CNAB400BANRISUL.RET +3 -0
- data/spec/arquivos/CNAB400BRADESCO.RET +8 -0
- data/spec/arquivos/CNAB400CREDISIS.RET +3 -0
- data/spec/arquivos/CNAB400ITAU.RET +54 -0
- data/spec/arquivos/CNAB400SANTANDER.RET +54 -0
- data/spec/arquivos/CNAB400UNICRED.RET +3 -0
- data/spec/bbrcobranca_spec.rb +34 -0
- data/spec/brcobranca/base_spec.rb +170 -0
- data/spec/brcobranca/boleto/banco_brasil_spec.rb +334 -0
- data/spec/brcobranca/boleto/banco_brasilia_spec.rb +152 -0
- data/spec/brcobranca/boleto/banco_nordeste_spec.rb +161 -0
- data/spec/brcobranca/boleto/banestes_spec.rb +194 -0
- data/spec/brcobranca/boleto/banrisul_spec.rb +182 -0
- data/spec/brcobranca/boleto/bradesco_spec.rb +211 -0
- data/spec/brcobranca/boleto/caixa_spec.rb +161 -0
- data/spec/brcobranca/boleto/cecred_spec.rb +147 -0
- data/spec/brcobranca/boleto/credisis_spec.rb +159 -0
- data/spec/brcobranca/boleto/hsbc_spec.rb +172 -0
- data/spec/brcobranca/boleto/itau_spec.rb +262 -0
- data/spec/brcobranca/boleto/santander_spec.rb +143 -0
- data/spec/brcobranca/boleto/sicoob_spec.rb +193 -0
- data/spec/brcobranca/boleto/sicredi_spec.rb +190 -0
- data/spec/brcobranca/boleto/unicred_spec.rb +149 -0
- data/spec/brcobranca/boletos_em_lote_spec.rb +38 -0
- data/spec/brcobranca/calculo_data_spec.rb +33 -0
- data/spec/brcobranca/calculo_spec.rb +185 -0
- data/spec/brcobranca/currency_spec.rb +79 -0
- data/spec/brcobranca/formatacao_spec.rb +46 -0
- data/spec/brcobranca/formatacao_string_spec.rb +24 -0
- data/spec/brcobranca/limpeza_spec.rb +10 -0
- data/spec/brcobranca/remessa/base_spec.rb +67 -0
- data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +217 -0
- data/spec/brcobranca/remessa/cnab240/base_spec.rb +91 -0
- data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +163 -0
- data/spec/brcobranca/remessa/cnab240/cecred_spec.rb +164 -0
- data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +268 -0
- data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +198 -0
- data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +201 -0
- data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +193 -0
- data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +187 -0
- data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +183 -0
- data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +187 -0
- data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +190 -0
- data/spec/brcobranca/remessa/cnab400/base_spec.rb +53 -0
- data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +201 -0
- data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +126 -0
- data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +188 -0
- data/spec/brcobranca/remessa/cnab400/itau_spec.rb +190 -0
- data/spec/brcobranca/remessa/cnab400/santander_spec.rb +152 -0
- data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +217 -0
- data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +185 -0
- data/spec/brcobranca/remessa/pagamento_spec.rb +227 -0
- data/spec/brcobranca/retorno/cnab240/base_spec.rb +23 -0
- data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +50 -0
- data/spec/brcobranca/retorno/cnab240/santander_spec.rb +50 -0
- data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +50 -0
- data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +31 -0
- data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +36 -0
- data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +39 -0
- data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +41 -0
- data/spec/brcobranca/retorno/cnab400/base_spec.rb +57 -0
- data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +58 -0
- data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +25 -0
- data/spec/brcobranca/retorno/cnab400/itau_spec.rb +58 -0
- data/spec/brcobranca/retorno/cnab400/santander_spec.rb +39 -0
- data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +42 -0
- data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +69 -0
- data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +57 -0
- data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +52 -0
- data/spec/brcobranca/rghost_spec.rb +29 -0
- data/spec/brcobranca/util/empresa_spec.rb +36 -0
- data/spec/fixtures/remessa/remessa-banco-brasil-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-banco-brasilia-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-banco-nordeste-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-banco_brasil-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-bancoob-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-banrisul-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-bradesco-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-caixa-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-cecred-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-citibank-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-credisis-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-itau-cnab400.rem +4 -0
- data/spec/fixtures/remessa/remessa-santander-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-sicoob-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-sicoob-correspondente-bb-cnab240.rem +4 -0
- data/spec/fixtures/remessa/remessa-sicredi-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-unicred-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-unicred-cnab400.rem +3 -0
- data/spec/spec.opts +8 -0
- data/spec/spec_helper.rb +38 -0
- data/spec/support/remessa_helpers.rb +13 -0
- data/spec/support/shared_examples/busca_logotipo.rb +15 -0
- data/spec/support/shared_examples/cnab240.rb +259 -0
- data/spec/support/shared_examples/cnab400.rb +180 -0
- data/spec/support/shared_examples/formatos_validos.rb +36 -0
- metadata +422 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*_ encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab240::Base do
|
5
|
+
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
6
|
+
|
7
|
+
describe "#load_lines" do
|
8
|
+
it "retorna nil se o arquivo é nil" do
|
9
|
+
expect(Bbrcobranca::Retorno::Cnab240::Base.load_lines(nil)).to be_nil
|
10
|
+
end
|
11
|
+
|
12
|
+
context "Sicoob" do
|
13
|
+
let(:nome_arquivo) { "CNAB240SICOOB.RET" }
|
14
|
+
|
15
|
+
subject { Bbrcobranca::Retorno::Cnab240::Sicoob }
|
16
|
+
|
17
|
+
it "lê o arquivo pela classe do Sicoob" do
|
18
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
19
|
+
Bbrcobranca::Retorno::Cnab240::Base.load_lines(arquivo)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab240::Cecred do
|
2
|
+
before do
|
3
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240CECRED.RET')
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
7
|
+
pagamentos = described_class.load_lines(@arquivo)
|
8
|
+
expect(pagamentos.size).to eq(3)
|
9
|
+
pagamento = pagamentos.first
|
10
|
+
expect(pagamento.agencia_com_dv).to eql('030390')
|
11
|
+
expect(pagamento.cedente_com_dv).to eql('0000000489816')
|
12
|
+
expect(pagamento.nosso_numero).to eql('000000000000083')
|
13
|
+
expect(pagamento.carteira).to eql('1')
|
14
|
+
expect(pagamento.data_vencimento).to eql('13082015')
|
15
|
+
expect(pagamento.valor_titulo).to eql('000000000000200')
|
16
|
+
expect(pagamento.banco_recebedor).to eql('085')
|
17
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('030390')
|
18
|
+
expect(pagamento.data_credito).to eql('10082015')
|
19
|
+
expect(pagamento.data_ocorrencia).to eql('10082015')
|
20
|
+
expect(pagamento.codigo_ocorrencia).to eql('06')
|
21
|
+
expect(pagamento.outras_despesas).to eql('000000000000000')
|
22
|
+
expect(pagamento.iof_desconto).to eql('000000000000000')
|
23
|
+
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
24
|
+
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
25
|
+
expect(pagamento.valor_recebido).to eql('000000000000200')
|
26
|
+
expect(pagamento.juros_mora).to eql('000000000000000')
|
27
|
+
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
28
|
+
expect(pagamento.sequencial).to eql('00001')
|
29
|
+
expect(pagamento.valor_tarifa).to eql('000000000000170')
|
30
|
+
expect(pagamento.motivo_ocorrencia).to eql(['03'])
|
31
|
+
|
32
|
+
# Dados que não consegui extrair dos registros T e U
|
33
|
+
# pagamento.convenio.should eql('')
|
34
|
+
# pagamento.tipo_cobranca.should eql('')
|
35
|
+
# pagamento.tipo_cobranca_anterior.should eql('')
|
36
|
+
# pagamento.natureza_recebimento.should eql('')
|
37
|
+
# pagamento.carteira_variacao.should eql('7')
|
38
|
+
# pagamento.iof.should eql('')
|
39
|
+
# pagamento.comando.should eql('')
|
40
|
+
# pagamento.data_liquidacao.should eql('')
|
41
|
+
# pagamento.especie_documento.should eql('')
|
42
|
+
# pagamento.valor_tarifa.should eql('')
|
43
|
+
# pagamento.juros_desconto.should eql('')
|
44
|
+
# pagamento.abatimento_nao_aproveitado.should eql('')
|
45
|
+
# pagamento.valor_lancamento.should eql('')
|
46
|
+
# pagamento.indicativo_lancamento.should eql('')
|
47
|
+
# pagamento.indicador_valor.should eql('')
|
48
|
+
# pagamento.valor_ajuste.should eql('')
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab240::Santander do
|
4
|
+
before do
|
5
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SANTANDER.RET')
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos' do
|
9
|
+
pagamentos = described_class.load_lines(@arquivo)
|
10
|
+
expect(pagamentos.size).to eq(2)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
expect(pagamento.agencia_com_dv).to eql('31638')
|
13
|
+
expect(pagamento.cedente_com_dv).to eql('0130028625')
|
14
|
+
expect(pagamento.nosso_numero).to eql('0000000001406')
|
15
|
+
expect(pagamento.carteira).to eql('2')
|
16
|
+
expect(pagamento.data_vencimento).to eql('01042016')
|
17
|
+
expect(pagamento.valor_titulo).to eql('000000000001000')
|
18
|
+
expect(pagamento.banco_recebedor).to eql('033')
|
19
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('31638')
|
20
|
+
expect(pagamento.data_credito).to eql('01042016')
|
21
|
+
expect(pagamento.outras_despesas).to eql('000000000000000')
|
22
|
+
expect(pagamento.iof_desconto).to eql('000000000000000')
|
23
|
+
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
24
|
+
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
25
|
+
expect(pagamento.valor_recebido).to eql('000000000001000')
|
26
|
+
expect(pagamento.juros_mora).to eql('000000000000000')
|
27
|
+
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
28
|
+
expect(pagamento.sequencial).to eql('00001')
|
29
|
+
expect(pagamento.valor_tarifa).to eql('000000000000392')
|
30
|
+
expect(pagamento.motivo_ocorrencia).to eql([])
|
31
|
+
|
32
|
+
# Dados que não consegui extrair dos registros T e U
|
33
|
+
# pagamento.convenio.should eql('')
|
34
|
+
# pagamento.tipo_cobranca.should eql('')
|
35
|
+
# pagamento.tipo_cobranca_anterior.should eql('')
|
36
|
+
# pagamento.natureza_recebimento.should eql('')
|
37
|
+
# pagamento.carteira_variacao.should eql('7')
|
38
|
+
# pagamento.iof.should eql('')
|
39
|
+
# pagamento.comando.should eql('')
|
40
|
+
# pagamento.data_liquidacao.should eql('')
|
41
|
+
# pagamento.especie_documento.should eql('')
|
42
|
+
# pagamento.valor_tarifa.should eql('')
|
43
|
+
# pagamento.juros_desconto.should eql('')
|
44
|
+
# pagamento.abatimento_nao_aproveitado.should eql('')
|
45
|
+
# pagamento.valor_lancamento.should eql('')
|
46
|
+
# pagamento.indicativo_lancamento.should eql('')
|
47
|
+
# pagamento.indicador_valor.should eql('')
|
48
|
+
# pagamento.valor_ajuste.should eql('')
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab240::Sicoob do
|
2
|
+
before do
|
3
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICOOB.RET')
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
7
|
+
pagamentos = described_class.load_lines(@arquivo)
|
8
|
+
expect(pagamentos.size).to eq(3)
|
9
|
+
pagamento = pagamentos.first
|
10
|
+
expect(pagamento.agencia_com_dv).to eql('030390')
|
11
|
+
expect(pagamento.cedente_com_dv).to eql('0000000489816')
|
12
|
+
expect(pagamento.nosso_numero).to eql('0000000083')
|
13
|
+
expect(pagamento.carteira).to eql('1')
|
14
|
+
expect(pagamento.data_vencimento).to eql('13082015')
|
15
|
+
expect(pagamento.valor_titulo).to eql('000000000000200')
|
16
|
+
expect(pagamento.banco_recebedor).to eql('756')
|
17
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('030390')
|
18
|
+
expect(pagamento.codigo_ocorrencia).to eql('06')
|
19
|
+
expect(pagamento.data_ocorrencia).to eql('10082015')
|
20
|
+
expect(pagamento.data_credito).to eql('10082015')
|
21
|
+
expect(pagamento.outras_despesas).to eql('000000000000000')
|
22
|
+
expect(pagamento.iof_desconto).to eql('000000000000000')
|
23
|
+
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
24
|
+
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
25
|
+
expect(pagamento.valor_recebido).to eql('000000000000200')
|
26
|
+
expect(pagamento.juros_mora).to eql('000000000000000')
|
27
|
+
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
28
|
+
expect(pagamento.sequencial).to eql('00001')
|
29
|
+
expect(pagamento.valor_tarifa).to eql('000000000000170')
|
30
|
+
expect(pagamento.motivo_ocorrencia).to eql(['03'])
|
31
|
+
|
32
|
+
# Dados que não consegui extrair dos registros T e U
|
33
|
+
# pagamento.convenio.should eql('')
|
34
|
+
# pagamento.tipo_cobranca.should eql('')
|
35
|
+
# pagamento.tipo_cobranca_anterior.should eql('')
|
36
|
+
# pagamento.natureza_recebimento.should eql('')
|
37
|
+
# pagamento.carteira_variacao.should eql('7')
|
38
|
+
# pagamento.iof.should eql('')
|
39
|
+
# pagamento.comando.should eql('')
|
40
|
+
# pagamento.data_liquidacao.should eql('')
|
41
|
+
# pagamento.especie_documento.should eql('')
|
42
|
+
# pagamento.valor_tarifa.should eql('')
|
43
|
+
# pagamento.juros_desconto.should eql('')
|
44
|
+
# pagamento.abatimento_nao_aproveitado.should eql('')
|
45
|
+
# pagamento.valor_lancamento.should eql('')
|
46
|
+
# pagamento.indicativo_lancamento.should eql('')
|
47
|
+
# pagamento.indicador_valor.should eql('')
|
48
|
+
# pagamento.valor_ajuste.should eql('')
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab240::Sicredi do
|
2
|
+
before do
|
3
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICREDI.CRT')
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
7
|
+
pagamentos = described_class.load_lines(@arquivo)
|
8
|
+
expect(pagamentos.size).to eq(2)
|
9
|
+
pagamento = pagamentos.first
|
10
|
+
expect(pagamento.agencia_com_dv).to eql('00390')
|
11
|
+
expect(pagamento.cedente_com_dv).to eql('0000000041468')
|
12
|
+
expect(pagamento.nosso_numero).to eql('172000595')
|
13
|
+
expect(pagamento.carteira).to eql('1')
|
14
|
+
expect(pagamento.data_vencimento).to eql('13042017')
|
15
|
+
expect(pagamento.valor_titulo).to eql('000000000000995')
|
16
|
+
expect(pagamento.banco_recebedor).to eql('000')
|
17
|
+
expect(pagamento.codigo_ocorrencia).to eql('02')
|
18
|
+
expect(pagamento.data_ocorrencia).to eql('06042017')
|
19
|
+
expect(pagamento.data_credito).to eql('')
|
20
|
+
expect(pagamento.outras_despesas).to eql('000000000000000')
|
21
|
+
expect(pagamento.iof_desconto).to eql('000000000000000')
|
22
|
+
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
23
|
+
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
24
|
+
expect(pagamento.valor_recebido).to eql('000000000000000')
|
25
|
+
expect(pagamento.juros_mora).to eql('000000000000000')
|
26
|
+
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
27
|
+
expect(pagamento.sequencial).to eql('00001')
|
28
|
+
expect(pagamento.valor_tarifa).to eql('000000000000000')
|
29
|
+
expect(pagamento.motivo_ocorrencia).to eql(['A4'])
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab400::BancoBrasilia do
|
5
|
+
before do
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANCOBRASILIA.RET')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'Ignora primeira linha que é header' do
|
10
|
+
pagamentos = described_class.load_lines(@arquivo)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
expect(pagamento.sequencial).to eql('000002')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
16
|
+
pagamentos = described_class.load_lines(@arquivo)
|
17
|
+
expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
|
18
|
+
pagamento = pagamentos.first
|
19
|
+
expect(pagamento.cedente_com_dv).to eql('00000000279998886')
|
20
|
+
expect(pagamento.nosso_numero).to eql('107851907015')
|
21
|
+
expect(pagamento.valor_recebido).to eql('0000000026492')
|
22
|
+
expect(pagamento.data_credito).to eql('26072012')
|
23
|
+
expect(pagamento.codigo_ocorrencia).to eql('05')
|
24
|
+
expect(pagamento.data_ocorrencia).to eql('26072012')
|
25
|
+
expect(pagamento.data_vencimento).to eql('26072012')
|
26
|
+
expect(pagamento.valor_titulo).to eql('0000000026492')
|
27
|
+
expect(pagamento.banco_recebedor).to eql('070')
|
28
|
+
expect(pagamento.especie_documento).to eql('00')
|
29
|
+
expect(pagamento.valor_tarifa).to eql('0000000000000')
|
30
|
+
expect(pagamento.iof).to eql('0000000000000')
|
31
|
+
expect(pagamento.valor_abatimento).to eql('0000000000000')
|
32
|
+
expect(pagamento.desconto).to eql('0000000000000')
|
33
|
+
expect(pagamento.outros_recebimento).to eql('0000000000000')
|
34
|
+
expect(pagamento.motivo_ocorrencia).to eql('')
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab400::BancoNordeste do
|
5
|
+
before do
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANCONORDESTE.RET')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'Ignora primeira linha que é header' do
|
10
|
+
pagamentos = described_class.load_lines(@arquivo)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
expect(pagamento.sequencial).to eql('000002')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
16
|
+
pagamentos = described_class.load_lines(@arquivo)
|
17
|
+
expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
|
18
|
+
pagamento = pagamentos.first
|
19
|
+
|
20
|
+
expect(pagamento.agencia_sem_dv).to eql('0217')
|
21
|
+
expect(pagamento.cedente_com_dv).to eql('00056911')
|
22
|
+
expect(pagamento.nosso_numero).to eql('00000116')
|
23
|
+
expect(pagamento.valor_recebido).to eql('0000000017500')
|
24
|
+
expect(pagamento.carteira).to eql('I')
|
25
|
+
expect(pagamento.codigo_ocorrencia).to eql('06')
|
26
|
+
expect(pagamento.data_ocorrencia).to eql('191114')
|
27
|
+
expect(pagamento.data_vencimento).to eql('191114')
|
28
|
+
expect(pagamento.valor_titulo).to eql('0000000017500')
|
29
|
+
expect(pagamento.banco_recebedor).to eql('004')
|
30
|
+
expect(pagamento.especie_documento).to eql('01')
|
31
|
+
expect(pagamento.valor_tarifa).to eql('0000000000260')
|
32
|
+
expect(pagamento.valor_abatimento).to eql('0000000000000')
|
33
|
+
expect(pagamento.desconto).to eql('0000000000000')
|
34
|
+
expect(pagamento.valor_recebido).to eql('0000000017500')
|
35
|
+
expect(pagamento.juros_mora).to eql('0000000000000')
|
36
|
+
expect(pagamento.data_credito).to eql('191114')
|
37
|
+
expect(pagamento.motivo_ocorrencia).to eql('00000000000000000011100000000000000000000000000000000000000000000000000000000')
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab400::Banrisul do
|
5
|
+
before do
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANRISUL.RET')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'Ignora primeira linha que é header' do
|
10
|
+
pagamentos = described_class.load_lines(@arquivo)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
expect(pagamento.sequencial).to eql('000002')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
16
|
+
pagamentos = described_class.load_lines(@arquivo)
|
17
|
+
expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
|
18
|
+
pagamento = pagamentos.first
|
19
|
+
expect(pagamento.agencia_sem_dv).to eql('1102')
|
20
|
+
expect(pagamento.cedente_com_dv).to eql('900015096')
|
21
|
+
expect(pagamento.nosso_numero).to eql('2283256350')
|
22
|
+
expect(pagamento.carteira).to eql('1')
|
23
|
+
expect(pagamento.codigo_ocorrencia).to eql('06')
|
24
|
+
expect(pagamento.data_ocorrencia).to eql('150515')
|
25
|
+
expect(pagamento.data_vencimento).to eql('250515')
|
26
|
+
expect(pagamento.valor_titulo).to eql('0000000145000')
|
27
|
+
expect(pagamento.banco_recebedor).to eql('041')
|
28
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('1102')
|
29
|
+
expect(pagamento.especie_documento).to eql('')
|
30
|
+
expect(pagamento.valor_tarifa).to eql('0000000000160')
|
31
|
+
expect(pagamento.iof).to eql('0000000000000')
|
32
|
+
expect(pagamento.valor_abatimento).to eql('0000000000000')
|
33
|
+
expect(pagamento.desconto).to eql('0000000000000')
|
34
|
+
expect(pagamento.valor_recebido).to eql('0000000145000')
|
35
|
+
expect(pagamento.juros_mora).to eql('0000000000000')
|
36
|
+
expect(pagamento.outros_recebimento).to eql('0000000000000')
|
37
|
+
expect(pagamento.data_credito).to eql('150515')
|
38
|
+
expect(pagamento.motivo_ocorrencia).to eql('')
|
39
|
+
expect(pagamento.sequencial).to eql('000002')
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab400::Base do
|
5
|
+
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
6
|
+
|
7
|
+
describe "#load_lines" do
|
8
|
+
|
9
|
+
it "retorna nil se o arquivo é nil" do
|
10
|
+
expect(Bbrcobranca::Retorno::Cnab400::Base.load_lines(nil)).to be_nil
|
11
|
+
end
|
12
|
+
|
13
|
+
context "Banco de Brasilia" do
|
14
|
+
let(:nome_arquivo) { "CNAB400BANCOBRASILIA.RET" }
|
15
|
+
|
16
|
+
subject { Bbrcobranca::Retorno::Cnab400::BancoBrasilia }
|
17
|
+
|
18
|
+
it "lê o arquivo pela classe do Banco de Brasilia" do
|
19
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
20
|
+
Bbrcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "Bradesco" do
|
25
|
+
let(:nome_arquivo) { "CNAB400BRADESCO.RET" }
|
26
|
+
|
27
|
+
subject { Bbrcobranca::Retorno::Cnab400::Bradesco }
|
28
|
+
|
29
|
+
it "lê o arquivo pela classe do Bradesco" do
|
30
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
31
|
+
Bbrcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "Itaú" do
|
36
|
+
let(:nome_arquivo) { "CNAB400ITAU.RET" }
|
37
|
+
|
38
|
+
subject { Bbrcobranca::Retorno::Cnab400::Itau }
|
39
|
+
|
40
|
+
it "lê o arquivo pela classe do Itaú" do
|
41
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
42
|
+
Bbrcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "Santander" do
|
47
|
+
let(:nome_arquivo) { "CNAB400SANTANDER.RET" }
|
48
|
+
|
49
|
+
subject { Bbrcobranca::Retorno::Cnab400::Santander }
|
50
|
+
|
51
|
+
it "lê o arquivo pela classe do Santander" do
|
52
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
53
|
+
Bbrcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
RSpec.describe Bbrcobranca::Retorno::Cnab400::Bradesco do
|
5
|
+
before do
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BRADESCO.RET')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'Ignora primeira linha que é header' do
|
10
|
+
pagamentos = described_class.load_lines(@arquivo)
|
11
|
+
pagamento = pagamentos.first
|
12
|
+
expect(pagamento.sequencial).to eql('000002')
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
16
|
+
pagamentos = described_class.load_lines(@arquivo)
|
17
|
+
expect(pagamentos.size).to eq(7) # deve ignorar a primeira linha que é header
|
18
|
+
pagamento = pagamentos.first
|
19
|
+
expect(pagamento.agencia_com_dv).to eql('01467-2')
|
20
|
+
expect(pagamento.cedente_com_dv).to eql('0019669P')
|
21
|
+
expect(pagamento.nosso_numero).to eql('000000000303')
|
22
|
+
expect(pagamento.carteira).to eql('009')
|
23
|
+
expect(pagamento.data_vencimento).to eql('250515')
|
24
|
+
expect(pagamento.valor_titulo).to eql('0000000145000')
|
25
|
+
expect(pagamento.banco_recebedor).to eql('237')
|
26
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('04157')
|
27
|
+
expect(pagamento.especie_documento).to eql('')
|
28
|
+
expect(pagamento.valor_tarifa).to eql('0000000000160')
|
29
|
+
expect(pagamento.iof).to eql('0000000000000')
|
30
|
+
expect(pagamento.valor_abatimento).to eql('0000000000000')
|
31
|
+
expect(pagamento.desconto).to eql('0000000000000')
|
32
|
+
expect(pagamento.valor_recebido).to eql('0000000145000')
|
33
|
+
expect(pagamento.juros_mora).to eql('0000000000000')
|
34
|
+
expect(pagamento.outros_recebimento).to eql('0000000000000')
|
35
|
+
expect(pagamento.codigo_ocorrencia).to eql('02')
|
36
|
+
expect(pagamento.data_ocorrencia).to eql('150515')
|
37
|
+
expect(pagamento.data_credito).to eql('150515')
|
38
|
+
expect(pagamento.motivo_ocorrencia).to eql([])
|
39
|
+
expect(pagamento.sequencial).to eql('000002')
|
40
|
+
|
41
|
+
# Campos da classe base que não encontrei a relação com CNAB400
|
42
|
+
# parse.field :tipo_cobranca,80..80
|
43
|
+
# parse.field :tipo_cobranca_anterior,81..81
|
44
|
+
# parse.field :natureza_recebimento,86..87
|
45
|
+
# parse.field :convenio,31..37
|
46
|
+
# parse.field :comando,108..109
|
47
|
+
# parse.field :juros_desconto,201..213
|
48
|
+
# parse.field :iof_desconto,214..226
|
49
|
+
# parse.field :desconto_concedito,240..252
|
50
|
+
# parse.field :outras_despesas,279..291
|
51
|
+
# parse.field :abatimento_nao_aproveitado,292..304
|
52
|
+
# parse.field :data_liquidacao,295..300
|
53
|
+
# parse.field :valor_lancamento,305..317
|
54
|
+
# parse.field :indicativo_lancamento,318..318
|
55
|
+
# parse.field :indicador_valor,319..319
|
56
|
+
# parse.field :valor_ajuste,320..331
|
57
|
+
end
|
58
|
+
end
|