brcobranca 8.0.0 → 9.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +5 -3
- data/CHANGELOG.md +9 -0
- data/Gemfile +2 -2
- data/README.md +24 -12
- data/brcobranca.gemspec +0 -2
- data/lib/brcobranca.rb +43 -26
- data/lib/brcobranca/arquivos/logos/bancobrasilia.eps +0 -0
- data/lib/brcobranca/arquivos/logos/bancobrasilia_carne.eps +0 -0
- data/lib/brcobranca/arquivos/logos/cecred.eps +427 -0
- data/lib/brcobranca/arquivos/logos/cecred_carne.eps +427 -0
- data/lib/brcobranca/arquivos/logos/credisis.eps +5402 -0
- data/lib/brcobranca/arquivos/logos/credisis_carne.eps +5410 -0
- data/lib/brcobranca/arquivos/templates/modelo_generico.eps +0 -0
- data/lib/brcobranca/boleto/banco_brasil.rb +21 -21
- data/lib/brcobranca/boleto/banco_brasilia.rb +96 -0
- data/lib/brcobranca/boleto/banco_nordeste.rb +4 -6
- data/lib/brcobranca/boleto/banestes.rb +7 -7
- data/lib/brcobranca/boleto/banrisul.rb +5 -5
- data/lib/brcobranca/boleto/base.rb +28 -22
- data/lib/brcobranca/boleto/bradesco.rb +6 -6
- data/lib/brcobranca/boleto/caixa.rb +11 -18
- data/lib/brcobranca/boleto/cecred.rb +86 -0
- data/lib/brcobranca/boleto/credisis.rb +124 -0
- data/lib/brcobranca/boleto/hsbc.rb +10 -27
- data/lib/brcobranca/boleto/itau.rb +9 -10
- data/lib/brcobranca/boleto/santander.rb +5 -6
- data/lib/brcobranca/boleto/sicoob.rb +5 -5
- data/lib/brcobranca/boleto/sicredi.rb +7 -7
- data/lib/brcobranca/boleto/template/rghost.rb +127 -80
- data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
- data/lib/brcobranca/boleto/unicred.rb +126 -4
- data/lib/brcobranca/calculo_data.rb +3 -0
- data/lib/brcobranca/formatacao_string.rb +15 -5
- data/lib/brcobranca/remessa/base.rb +16 -9
- data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +14 -13
- data/lib/brcobranca/remessa/cnab240/base.rb +252 -119
- data/lib/brcobranca/remessa/cnab240/base_correspondente.rb +299 -0
- data/lib/brcobranca/remessa/cnab240/caixa.rb +61 -7
- data/lib/brcobranca/remessa/cnab240/cecred.rb +151 -0
- data/lib/brcobranca/remessa/cnab240/sicoob.rb +109 -123
- data/lib/brcobranca/remessa/cnab240/sicoob_banco_brasil.rb +94 -0
- data/lib/brcobranca/remessa/cnab240/sicredi.rb +177 -0
- data/lib/brcobranca/remessa/cnab240/unicred.rb +9 -0
- data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +14 -0
- data/lib/brcobranca/remessa/cnab400/banco_brasilia.rb +166 -0
- data/lib/brcobranca/remessa/cnab400/banco_nordeste.rb +4 -6
- data/lib/brcobranca/remessa/cnab400/banrisul.rb +155 -0
- data/lib/brcobranca/remessa/cnab400/base.rb +4 -4
- data/lib/brcobranca/remessa/cnab400/bradesco.rb +7 -8
- data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -4
- data/lib/brcobranca/remessa/cnab400/credisis.rb +128 -0
- data/lib/brcobranca/remessa/cnab400/itau.rb +23 -6
- data/lib/brcobranca/remessa/cnab400/santander.rb +80 -65
- data/lib/brcobranca/remessa/cnab400/sicoob.rb +2 -2
- data/lib/brcobranca/remessa/cnab400/unicred.rb +143 -0
- data/lib/brcobranca/remessa/pagamento.rb +50 -14
- data/lib/brcobranca/retorno/base.rb +4 -4
- data/lib/brcobranca/retorno/cnab240/base.rb +11 -8
- data/lib/brcobranca/retorno/cnab240/caixa.rb +4 -0
- data/lib/brcobranca/retorno/cnab240/cecred.rb +102 -0
- data/lib/brcobranca/retorno/cnab240/santander.rb +35 -12
- data/lib/brcobranca/retorno/cnab240/sicoob.rb +8 -4
- data/lib/brcobranca/retorno/cnab240/sicredi.rb +79 -0
- data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +127 -0
- data/lib/brcobranca/retorno/cnab400/banco_brasilia.rb +89 -0
- data/lib/brcobranca/retorno/cnab400/banco_nordeste.rb +112 -0
- data/lib/brcobranca/retorno/cnab400/banrisul.rb +42 -0
- data/lib/brcobranca/retorno/cnab400/base.rb +18 -7
- data/lib/brcobranca/retorno/cnab400/bradesco.rb +9 -3
- data/lib/brcobranca/retorno/cnab400/credisis.rb +115 -0
- data/lib/brcobranca/retorno/cnab400/itau.rb +10 -4
- data/lib/brcobranca/retorno/cnab400/santander.rb +57 -0
- data/lib/brcobranca/retorno/cnab400/unicred.rb +118 -0
- data/lib/brcobranca/retorno/retorno_cnab240.rb +7 -3
- data/lib/brcobranca/retorno/retorno_cnab400.rb +6 -77
- data/lib/brcobranca/util/date.rb +20 -0
- data/lib/brcobranca/util/errors.rb +76 -0
- data/lib/brcobranca/validations.rb +232 -0
- data/lib/brcobranca/version.rb +1 -1
- data/spec/arquivos/CNAB240CECRED.RET +10 -0
- data/spec/arquivos/CNAB240SANTANDER.RET +8 -26
- data/spec/arquivos/CNAB240SICREDI.CRT +8 -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/CNAB400CREDISIS.RET +3 -0
- data/spec/arquivos/CNAB400SANTANDER.RET +54 -0
- data/spec/arquivos/CNAB400UNICRED.RET +3 -0
- data/spec/brcobranca/base_spec.rb +6 -4
- data/spec/brcobranca/boleto/banco_brasil_spec.rb +22 -22
- data/spec/brcobranca/boleto/banco_brasilia_spec.rb +134 -0
- data/spec/brcobranca/boleto/banco_nordeste_spec.rb +19 -19
- data/spec/brcobranca/boleto/banestes_spec.rb +19 -19
- data/spec/brcobranca/boleto/banrisul_spec.rb +14 -14
- data/spec/brcobranca/boleto/bradesco_spec.rb +13 -13
- data/spec/brcobranca/boleto/caixa_spec.rb +7 -7
- data/spec/brcobranca/boleto/cecred_spec.rb +147 -0
- data/spec/brcobranca/boleto/credisis_spec.rb +155 -0
- data/spec/brcobranca/boleto/hsbc_spec.rb +17 -37
- data/spec/brcobranca/boleto/itau_spec.rb +16 -16
- data/spec/brcobranca/boleto/santander_spec.rb +11 -11
- data/spec/brcobranca/boleto/sicoob_spec.rb +17 -17
- data/spec/brcobranca/boleto/sicredi_spec.rb +13 -13
- data/spec/brcobranca/boleto/unicred_spec.rb +10 -10
- data/spec/brcobranca/boletos_em_lote_spec.rb +1 -1
- data/spec/brcobranca/formatacao_string_spec.rb +1 -1
- data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +10 -18
- data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +39 -38
- 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 +58 -39
- 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_brasilia_spec.rb +183 -0
- data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +4 -2
- data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +190 -0
- data/spec/brcobranca/remessa/cnab400/base_spec.rb +1 -1
- data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +16 -11
- data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -11
- data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +188 -0
- data/spec/brcobranca/remessa/cnab400/itau_spec.rb +25 -12
- data/spec/brcobranca/remessa/cnab400/santander_spec.rb +35 -36
- data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +37 -0
- data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +185 -0
- data/spec/brcobranca/remessa/pagamento_spec.rb +45 -27
- data/spec/brcobranca/retorno/cnab240/base_spec.rb +7 -8
- data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +50 -0
- data/spec/brcobranca/retorno/cnab240/santander_spec.rb +35 -18
- data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +20 -19
- 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 +34 -13
- data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +4 -4
- data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +25 -0
- data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -4
- 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_cnab400_spec.rb +1 -1
- data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -1
- data/spec/brcobranca/rghost_spec.rb +1 -1
- data/spec/fixtures/remessa/remessa-banco-brasil-cnab400.rem +1 -1
- data/spec/fixtures/remessa/remessa-banco-brasilia-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-banco-nordeste-cnab400.rem +1 -1
- data/spec/fixtures/remessa/remessa-banco_brasil-cnab240.rem +5 -4
- data/spec/fixtures/remessa/remessa-bancoob-cnab240.rem +5 -4
- data/spec/fixtures/remessa/remessa-banrisul-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-bradesco-cnab400.rem +1 -1
- data/spec/fixtures/remessa/remessa-caixa-cnab240.rem +6 -5
- data/spec/fixtures/remessa/remessa-cecred-cnab240.rem +7 -0
- data/spec/fixtures/remessa/remessa-citibank-cnab400.rem +1 -1
- data/spec/fixtures/remessa/remessa-credisis-cnab400.rem +3 -0
- data/spec/fixtures/remessa/remessa-itau-cnab400.rem +3 -2
- data/spec/fixtures/remessa/remessa-santander-cnab400.rem +2 -2
- 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/support/shared_examples/busca_logotipo.rb +0 -2
- data/spec/support/shared_examples/cnab240.rb +92 -28
- data/spec/support/shared_examples/cnab400.rb +60 -14
- data/spec/support/shared_examples/formatos_validos.rb +6 -6
- metadata +103 -31
@@ -1,23 +1,22 @@
|
|
1
1
|
# -*_ encoding: utf-8 -*-
|
2
|
-
#
|
3
2
|
require 'spec_helper'
|
4
3
|
|
5
4
|
RSpec.describe Brcobranca::Retorno::Cnab240::Base do
|
6
5
|
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
7
6
|
|
8
|
-
describe
|
9
|
-
it
|
10
|
-
expect(
|
7
|
+
describe "#load_lines" do
|
8
|
+
it "retorna nil se o arquivo é nil" do
|
9
|
+
expect(Brcobranca::Retorno::Cnab240::Base.load_lines(nil)).to be_nil
|
11
10
|
end
|
12
11
|
|
13
|
-
context
|
14
|
-
let(:nome_arquivo) {
|
12
|
+
context "Sicoob" do
|
13
|
+
let(:nome_arquivo) { "CNAB240SICOOB.RET" }
|
15
14
|
|
16
15
|
subject { Brcobranca::Retorno::Cnab240::Sicoob }
|
17
16
|
|
18
|
-
it
|
17
|
+
it "lê o arquivo pela classe do Sicoob" do
|
19
18
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
20
|
-
|
19
|
+
Brcobranca::Retorno::Cnab240::Base.load_lines(arquivo)
|
21
20
|
end
|
22
21
|
end
|
23
22
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
RSpec.describe Brcobranca::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
|
@@ -1,33 +1,50 @@
|
|
1
|
-
# -*_ encoding: utf-8 -*-
|
2
|
-
#
|
3
1
|
require 'spec_helper'
|
2
|
+
|
4
3
|
RSpec.describe Brcobranca::Retorno::Cnab240::Santander do
|
5
4
|
before do
|
6
5
|
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SANTANDER.RET')
|
7
6
|
end
|
8
7
|
|
9
|
-
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos
|
8
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos' do
|
10
9
|
pagamentos = described_class.load_lines(@arquivo)
|
11
|
-
expect(pagamentos.size).to eq(
|
12
|
-
pagamento = pagamentos.
|
13
|
-
expect(pagamento.agencia_com_dv).to eql('
|
14
|
-
expect(pagamento.
|
15
|
-
expect(pagamento.nosso_numero).to eql('
|
16
|
-
expect(pagamento.carteira).to eql('
|
17
|
-
expect(pagamento.data_vencimento).to eql('
|
18
|
-
expect(pagamento.valor_titulo).to eql('
|
19
|
-
expect(pagamento.banco_recebedor).to eql('
|
20
|
-
expect(pagamento.agencia_recebedora_com_dv).to eql('
|
21
|
-
expect(pagamento.data_credito).to eql('
|
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')
|
22
21
|
expect(pagamento.outras_despesas).to eql('000000000000000')
|
23
22
|
expect(pagamento.iof_desconto).to eql('000000000000000')
|
24
23
|
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
25
24
|
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
26
|
-
expect(pagamento.valor_recebido).to eql('
|
25
|
+
expect(pagamento.valor_recebido).to eql('000000000001000')
|
27
26
|
expect(pagamento.juros_mora).to eql('000000000000000')
|
28
27
|
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
29
|
-
expect(pagamento.sequencial).to eql('
|
30
|
-
expect(pagamento.valor_tarifa).to eql('
|
31
|
-
expect(pagamento.
|
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('')
|
32
49
|
end
|
33
50
|
end
|
@@ -1,11 +1,9 @@
|
|
1
|
-
# -*_ encoding: utf-8 -*-
|
2
|
-
#
|
3
1
|
RSpec.describe Brcobranca::Retorno::Cnab240::Sicoob do
|
4
2
|
before do
|
5
3
|
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICOOB.RET')
|
6
4
|
end
|
7
5
|
|
8
|
-
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de
|
6
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
|
9
7
|
pagamentos = described_class.load_lines(@arquivo)
|
10
8
|
expect(pagamentos.size).to eq(3)
|
11
9
|
pagamento = pagamentos.first
|
@@ -17,6 +15,8 @@ RSpec.describe Brcobranca::Retorno::Cnab240::Sicoob do
|
|
17
15
|
expect(pagamento.valor_titulo).to eql('000000000000200')
|
18
16
|
expect(pagamento.banco_recebedor).to eql('756')
|
19
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
20
|
expect(pagamento.data_credito).to eql('10082015')
|
21
21
|
expect(pagamento.outras_despesas).to eql('000000000000000')
|
22
22
|
expect(pagamento.iof_desconto).to eql('000000000000000')
|
@@ -27,23 +27,24 @@ RSpec.describe Brcobranca::Retorno::Cnab240::Sicoob do
|
|
27
27
|
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
28
28
|
expect(pagamento.sequencial).to eql('00001')
|
29
29
|
expect(pagamento.valor_tarifa).to eql('000000000000170')
|
30
|
+
expect(pagamento.motivo_ocorrencia).to eql(['03'])
|
30
31
|
|
31
32
|
# Dados que não consegui extrair dos registros T e U
|
32
|
-
# pagamento.convenio.should eql(
|
33
|
-
# pagamento.tipo_cobranca.should eql(
|
34
|
-
# pagamento.tipo_cobranca_anterior.should eql(
|
35
|
-
# pagamento.natureza_recebimento.should eql(
|
36
|
-
# pagamento.carteira_variacao.should eql(
|
37
|
-
# pagamento.iof.should eql(
|
38
|
-
# pagamento.comando.should eql(
|
39
|
-
# pagamento.data_liquidacao.should eql(
|
40
|
-
# pagamento.especie_documento.should eql(
|
41
|
-
# pagamento.valor_tarifa.should eql(
|
42
|
-
# pagamento.juros_desconto.should eql(
|
43
|
-
# pagamento.abatimento_nao_aproveitado.should eql(
|
44
|
-
# pagamento.valor_lancamento.should eql(
|
45
|
-
# pagamento.indicativo_lancamento.should eql(
|
46
|
-
# pagamento.indicador_valor.should eql(
|
47
|
-
# pagamento.valor_ajuste.should eql(
|
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('')
|
48
49
|
end
|
49
50
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
RSpec.describe Brcobranca::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 Brcobranca::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 Brcobranca::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 Brcobranca::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
|
@@ -1,35 +1,56 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
#
|
3
|
-
|
4
2
|
require 'spec_helper'
|
5
3
|
|
6
4
|
RSpec.describe Brcobranca::Retorno::Cnab400::Base do
|
7
5
|
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
8
6
|
|
9
|
-
describe
|
10
|
-
|
11
|
-
|
7
|
+
describe "#load_lines" do
|
8
|
+
|
9
|
+
it "retorna nil se o arquivo é nil" do
|
10
|
+
expect(Brcobranca::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 { Brcobranca::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
|
+
Brcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
21
|
+
end
|
12
22
|
end
|
13
23
|
|
14
|
-
context
|
15
|
-
let(:nome_arquivo) {
|
24
|
+
context "Bradesco" do
|
25
|
+
let(:nome_arquivo) { "CNAB400BRADESCO.RET" }
|
16
26
|
|
17
27
|
subject { Brcobranca::Retorno::Cnab400::Bradesco }
|
18
28
|
|
19
|
-
it
|
29
|
+
it "lê o arquivo pela classe do Bradesco" do
|
20
30
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
21
|
-
|
31
|
+
Brcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
22
32
|
end
|
23
33
|
end
|
24
34
|
|
25
|
-
context
|
26
|
-
let(:nome_arquivo) {
|
35
|
+
context "Itaú" do
|
36
|
+
let(:nome_arquivo) { "CNAB400ITAU.RET" }
|
27
37
|
|
28
38
|
subject { Brcobranca::Retorno::Cnab400::Itau }
|
29
39
|
|
30
|
-
it
|
40
|
+
it "lê o arquivo pela classe do Itaú" do
|
41
|
+
expect(subject).to receive(:load_lines).with(arquivo, {})
|
42
|
+
Brcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "Santander" do
|
47
|
+
let(:nome_arquivo) { "CNAB400SANTANDER.RET" }
|
48
|
+
|
49
|
+
subject { Brcobranca::Retorno::Cnab400::Santander }
|
50
|
+
|
51
|
+
it "lê o arquivo pela classe do Santander" do
|
31
52
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
32
|
-
|
53
|
+
Brcobranca::Retorno::Cnab400::Base.load_lines(arquivo)
|
33
54
|
end
|
34
55
|
end
|
35
56
|
end
|
@@ -1,6 +1,4 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
#
|
3
|
-
|
4
2
|
require 'spec_helper'
|
5
3
|
|
6
4
|
RSpec.describe Brcobranca::Retorno::Cnab400::Bradesco do
|
@@ -34,16 +32,18 @@ RSpec.describe Brcobranca::Retorno::Cnab400::Bradesco do
|
|
34
32
|
expect(pagamento.valor_recebido).to eql('0000000145000')
|
35
33
|
expect(pagamento.juros_mora).to eql('0000000000000')
|
36
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
37
|
expect(pagamento.data_credito).to eql('150515')
|
38
|
+
expect(pagamento.motivo_ocorrencia).to eql([])
|
38
39
|
expect(pagamento.sequencial).to eql('000002')
|
39
|
-
expect(pagamento.cod_de_ocorrencia).to eql('02')
|
40
|
-
expect(pagamento.data_de_ocorrencia).to eql('150515')
|
41
40
|
|
42
41
|
# Campos da classe base que não encontrei a relação com CNAB400
|
43
42
|
# parse.field :tipo_cobranca,80..80
|
44
43
|
# parse.field :tipo_cobranca_anterior,81..81
|
45
44
|
# parse.field :natureza_recebimento,86..87
|
46
45
|
# parse.field :convenio,31..37
|
46
|
+
# parse.field :comando,108..109
|
47
47
|
# parse.field :juros_desconto,201..213
|
48
48
|
# parse.field :iof_desconto,214..226
|
49
49
|
# parse.field :desconto_concedito,240..252
|