brcobranca 6.9.1 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +7 -7
- data/README.md +14 -12
- data/Rakefile +1 -0
- data/brcobranca.gemspec +1 -0
- data/lib/brcobranca/arquivos/logos/banrisul.eps +121 -0
- data/lib/brcobranca/arquivos/logos/banrisul_carne.eps +121 -0
- data/lib/brcobranca/boleto/banco_brasil.rb +8 -8
- data/lib/brcobranca/boleto/banco_nordeste.rb +1 -0
- data/lib/brcobranca/boleto/banestes.rb +10 -10
- data/lib/brcobranca/boleto/banrisul.rb +84 -0
- data/lib/brcobranca/boleto/base.rb +6 -5
- data/lib/brcobranca/boleto/bradesco.rb +2 -1
- data/lib/brcobranca/boleto/caixa.rb +6 -5
- data/lib/brcobranca/boleto/hsbc.rb +7 -6
- data/lib/brcobranca/boleto/itau.rb +1 -0
- data/lib/brcobranca/boleto/santander.rb +1 -0
- data/lib/brcobranca/boleto/sicoob.rb +12 -11
- data/lib/brcobranca/boleto/sicredi.rb +1 -0
- data/lib/brcobranca/boleto/template/base.rb +5 -4
- data/lib/brcobranca/boleto/template/rghost.rb +7 -6
- data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
- data/lib/brcobranca/boleto/unicred.rb +1 -1
- data/lib/brcobranca/calculo.rb +14 -15
- data/lib/brcobranca/calculo_data.rb +2 -0
- data/lib/brcobranca/currency.rb +4 -3
- data/lib/brcobranca/formatacao.rb +2 -1
- data/lib/brcobranca/formatacao_string.rb +1 -0
- data/lib/brcobranca/limpeza.rb +1 -0
- data/lib/brcobranca/remessa/base.rb +2 -1
- data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +7 -6
- data/lib/brcobranca/remessa/cnab240/base.rb +16 -15
- data/lib/brcobranca/remessa/cnab240/caixa.rb +1 -0
- data/lib/brcobranca/remessa/cnab240/sicoob.rb +9 -9
- data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +2 -3
- data/lib/brcobranca/remessa/cnab400/base.rb +8 -7
- data/lib/brcobranca/remessa/cnab400/bradesco.rb +2 -1
- data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -2
- data/lib/brcobranca/remessa/cnab400/itau.rb +2 -1
- data/lib/brcobranca/remessa/cnab400/santander.rb +7 -5
- data/lib/brcobranca/remessa/cnab400/sicoob.rb +6 -5
- data/lib/brcobranca/remessa/pagamento.rb +4 -4
- data/lib/brcobranca/retorno/base.rb +1 -0
- data/lib/brcobranca/retorno/cnab240/base.rb +6 -7
- data/lib/brcobranca/retorno/cnab240/caixa.rb +1 -0
- data/lib/brcobranca/retorno/cnab240/santander.rb +3 -3
- data/lib/brcobranca/retorno/cnab240/sicoob.rb +7 -6
- data/lib/brcobranca/retorno/cnab400/base.rb +5 -6
- data/lib/brcobranca/retorno/cnab400/bradesco.rb +1 -0
- data/lib/brcobranca/retorno/cnab400/itau.rb +1 -0
- data/lib/brcobranca/retorno/retorno_cbr643.rb +1 -0
- data/lib/brcobranca/retorno/retorno_cnab240.rb +3 -2
- data/lib/brcobranca/retorno/retorno_cnab400.rb +1 -0
- data/lib/brcobranca/util/empresa.rb +2 -3
- data/lib/brcobranca/version.rb +2 -1
- data/lib/brcobranca.rb +3 -1
- data/spec/brcobranca/base_spec.rb +51 -50
- data/spec/brcobranca/boleto/banco_brasil_spec.rb +46 -45
- data/spec/brcobranca/boleto/banco_nordeste_spec.rb +13 -12
- data/spec/brcobranca/boleto/banestes_spec.rb +108 -105
- data/spec/brcobranca/boleto/banrisul_spec.rb +165 -0
- data/spec/brcobranca/boleto/bradesco_spec.rb +56 -52
- data/spec/brcobranca/boleto/caixa_spec.rb +9 -7
- data/spec/brcobranca/boleto/hsbc_spec.rb +17 -15
- data/spec/brcobranca/boleto/itau_spec.rb +22 -20
- data/spec/brcobranca/boleto/santander_spec.rb +16 -14
- data/spec/brcobranca/boleto/sicoob_spec.rb +94 -94
- data/spec/brcobranca/boleto/sicredi_spec.rb +32 -28
- data/spec/brcobranca/boleto/unicred_spec.rb +16 -14
- data/spec/brcobranca/boletos_em_lote_spec.rb +4 -3
- data/spec/brcobranca/calculo_data_spec.rb +2 -1
- data/spec/brcobranca/calculo_spec.rb +97 -97
- data/spec/brcobranca/currency_spec.rb +6 -5
- data/spec/brcobranca/formatacao_spec.rb +1 -0
- data/spec/brcobranca/formatacao_string_spec.rb +1 -2
- data/spec/brcobranca/limpeza_spec.rb +1 -0
- data/spec/brcobranca/remessa/base_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab240/base_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +12 -10
- data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +13 -11
- data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +2 -1
- data/spec/brcobranca/remessa/cnab400/base_spec.rb +20 -18
- data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab400/itau_spec.rb +11 -9
- data/spec/brcobranca/remessa/cnab400/santander_spec.rb +12 -10
- data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +11 -9
- data/spec/brcobranca/remessa/pagamento_spec.rb +12 -10
- data/spec/brcobranca/retorno/cnab240/base_spec.rb +10 -9
- data/spec/brcobranca/retorno/cnab240/santander_spec.rb +23 -22
- data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +21 -20
- data/spec/brcobranca/retorno/cnab400/base_spec.rb +13 -12
- data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +3 -1
- data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -1
- data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +1 -0
- data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +1 -0
- data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -0
- data/spec/brcobranca/rghost_spec.rb +1 -0
- data/spec/brcobranca/util/empresa_spec.rb +13 -12
- data/spec/brcobranca_spec.rb +6 -5
- data/spec/spec_helper.rb +3 -3
- data/spec/support/remessa_helpers.rb +3 -1
- data/spec/support/shared_examples/busca_logotipo.rb +2 -0
- data/spec/support/shared_examples/cnab240.rb +22 -20
- data/spec/support/shared_examples/cnab400.rb +12 -12
- data/spec/support/shared_examples/formatos_validos.rb +6 -4
- metadata +7 -2
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab240::Base do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{ empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{ empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
|
@@ -142,7 +144,7 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
|
|
142
144
|
|
143
145
|
context 'geracao remessa' do
|
144
146
|
it_behaves_like 'cnab240'
|
145
|
-
|
147
|
+
|
146
148
|
context 'trailer lote' do
|
147
149
|
it 'trailer lote deve ter o complemento_trailer na posicao correta' do
|
148
150
|
trailer = caixa.monta_trailer_lote 1, 4
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab240::Sicoob do
|
@@ -130,7 +132,7 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Sicoob do
|
|
130
132
|
|
131
133
|
it 'formata o nosso numero' do
|
132
134
|
nosso_numero = sicoob.formata_nosso_numero pagamento
|
133
|
-
expect(nosso_numero).to eq
|
135
|
+
expect(nosso_numero).to eq '000000001201014 '
|
134
136
|
end
|
135
137
|
end
|
136
138
|
|
@@ -141,25 +143,25 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Sicoob do
|
|
141
143
|
it 'trailer lote deve ter as informacoes nas posicoes corretas' do
|
142
144
|
trailer = sicoob.monta_trailer_lote 1, 4
|
143
145
|
expect(trailer[0..2]).to eq sicoob.cod_banco # cod. do banco
|
144
|
-
expect(trailer[3..6]).to eq
|
145
|
-
expect(trailer[17..22]).to eq
|
146
|
+
expect(trailer[3..6]).to eq '0001' # numero do lote
|
147
|
+
expect(trailer[17..22]).to eq '000004' # qtde de registros no lote
|
146
148
|
# qtde de titulos em cobranca simples 6
|
147
149
|
# Valor Total dos titulos em carteiras simples 15 2
|
148
|
-
expect(trailer[23..28]).to eq
|
149
|
-
expect(trailer[29..45]).to eq
|
150
|
+
expect(trailer[23..28]).to eq '000001'
|
151
|
+
expect(trailer[29..45]).to eq '00000000000005000'
|
150
152
|
|
151
153
|
# qtde de titulos em cobranca vinculada 6
|
152
154
|
# Valor Total dos titulos em carteiras vinculada 15 2
|
153
|
-
expect(trailer[46..51]).to eq
|
154
|
-
expect(trailer[52..68]).to eq
|
155
|
+
expect(trailer[46..51]).to eq '000000'
|
156
|
+
expect(trailer[52..68]).to eq '00000000000000000'
|
155
157
|
# qtde de titulos em cobranca caucionada 6
|
156
158
|
# Valor Total dos titulos em carteiras caucionada 15 2
|
157
|
-
expect(trailer[69..74]).to eq
|
158
|
-
expect(trailer[75..91]).to eq
|
159
|
+
expect(trailer[69..74]).to eq '000000'
|
160
|
+
expect(trailer[75..91]).to eq '00000000000000000'
|
159
161
|
# qtde de titulos em cobranca descontada 6
|
160
162
|
# Valor Total dos titulos em carteiras descontada 15 2
|
161
|
-
expect(trailer[92..97]).to eq
|
162
|
-
expect(trailer[98..114]).to eq
|
163
|
+
expect(trailer[92..97]).to eq '000000'
|
164
|
+
expect(trailer[98..114]).to eq '00000000000000000'
|
163
165
|
# numero do aviso de lancamento 8
|
164
166
|
expect(trailer[115..122]).to eq ''.rjust(8, ' ')
|
165
167
|
# CNAB Uso Exclusivo FEBRABAN/CNAB 117
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::BancoBrasil do
|
@@ -135,7 +137,6 @@ RSpec.describe Brcobranca::Remessa::Cnab400::BancoBrasil do
|
|
135
137
|
expect(info_conta[5..12]).to eq '00001234' # num. da conta corrente
|
136
138
|
expect(info_conta[13]).to eq banco_brasil.conta_corrente_dv.to_s # digito da conta corrente
|
137
139
|
end
|
138
|
-
|
139
140
|
end
|
140
141
|
|
141
142
|
context 'monta remessa' do
|
@@ -1,30 +1,32 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Base do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:pagamento_2) do
|
18
20
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
data_vencimento: Date.current,
|
22
|
+
nosso_numero: 123,
|
23
|
+
documento_sacado: '12345678901',
|
24
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
25
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
26
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
27
|
+
cep_sacado: '12345678',
|
28
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
29
|
+
uf_sacado: 'SP')
|
28
30
|
end
|
29
31
|
let(:params) do
|
30
32
|
{ empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Bradesco do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{ carteira: '01',
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Citibank do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Itau do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{ carteira: '123',
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{
|
@@ -38,7 +40,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
|
|
38
40
|
it 'deve ser invalido' do
|
39
41
|
object = subject.class.new
|
40
42
|
expect(object.invalid?).to be true
|
41
|
-
expect(object.errors.full_messages).to eq([
|
43
|
+
expect(object.errors.full_messages).to eq(['Pagamentos não pode estar em branco.', 'Pagamentos deve ser uma coleção (Array).', 'Empresa mae não pode estar em branco.', 'Documento cedente não pode estar em branco.', 'Documento cedente deve ter entre 11 e 14 dígitos.', 'Codigo transmissao não pode estar em branco.', 'Agencia não pode estar em branco.', 'Conta corrente não pode estar em branco.', 'Digito conta não pode estar em branco.'])
|
42
44
|
end
|
43
45
|
|
44
46
|
it 'deve ser invalido se a carteira tiver mais de 3 digitos' do
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Cnab400::Sicoob do
|
5
7
|
let(:pagamento) do
|
6
8
|
Brcobranca::Remessa::Pagamento.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.current,
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
let(:params) do
|
18
20
|
{ carteira: '01',
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::Pagamento do
|
5
7
|
let(:pagamento) do
|
6
8
|
subject.class.new(valor: 199.9,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
data_vencimento: Date.parse('2015-06-25'),
|
10
|
+
nosso_numero: 123,
|
11
|
+
documento_sacado: '12345678901',
|
12
|
+
nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
|
13
|
+
endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
|
14
|
+
bairro_sacado: 'São josé dos quatro apostolos magros',
|
15
|
+
cep_sacado: '12345678',
|
16
|
+
cidade_sacado: 'Santa rita de cássia maria da silva',
|
17
|
+
uf_sacado: 'SP')
|
16
18
|
end
|
17
19
|
|
18
20
|
context 'validacoes' do
|
@@ -66,7 +68,7 @@ RSpec.describe Brcobranca::Remessa::Pagamento do
|
|
66
68
|
end
|
67
69
|
|
68
70
|
it 'deve ser invalido se UF do sacado for maior que 2 caracteres' do
|
69
|
-
pagamento.uf_sacado =
|
71
|
+
pagamento.uf_sacado = 'Santa Catarina'
|
70
72
|
expect(pagamento.invalid?).to be true
|
71
73
|
expect(pagamento.errors.full_messages).to include('Uf sacado deve ter 2 dígitos.')
|
72
74
|
end
|
@@ -1,22 +1,23 @@
|
|
1
1
|
# -*_ encoding: utf-8 -*-
|
2
|
-
|
2
|
+
#
|
3
|
+
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe Brcobranca::Retorno::Cnab240::Base do
|
5
|
-
let(:arquivo) { File.join(File.dirname(__FILE__),
|
6
|
+
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
6
7
|
|
7
|
-
describe
|
8
|
-
it
|
9
|
-
expect(
|
8
|
+
describe '#load_lines' do
|
9
|
+
it 'retorna nil se o arquivo é nil' do
|
10
|
+
expect(described_class.load_lines(nil)).to be_nil
|
10
11
|
end
|
11
12
|
|
12
|
-
context
|
13
|
-
let(:nome_arquivo) {
|
13
|
+
context 'Sicoob' do
|
14
|
+
let(:nome_arquivo) { 'CNAB240SICOOB.RET' }
|
14
15
|
|
15
16
|
subject { Brcobranca::Retorno::Cnab240::Sicoob }
|
16
17
|
|
17
|
-
it
|
18
|
+
it 'lê o arquivo pela classe do Sicoob' do
|
18
19
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
19
|
-
|
20
|
+
described_class.load_lines(arquivo)
|
20
21
|
end
|
21
22
|
end
|
22
23
|
end
|
@@ -1,32 +1,33 @@
|
|
1
1
|
# -*_ encoding: utf-8 -*-
|
2
|
-
|
2
|
+
#
|
3
|
+
require 'spec_helper'
|
3
4
|
RSpec.describe Brcobranca::Retorno::Cnab240::Santander do
|
4
5
|
before do
|
5
|
-
@arquivo = File.join(File.dirname(__FILE__),
|
6
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SANTANDER.RET')
|
6
7
|
end
|
7
8
|
|
8
|
-
it
|
9
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de titulos sem registro' do
|
9
10
|
pagamentos = described_class.load_lines(@arquivo)
|
10
11
|
expect(pagamentos.size).to eq(6)
|
11
12
|
pagamento = pagamentos.last
|
12
|
-
expect(pagamento.agencia_com_dv).to eql(
|
13
|
-
expect(pagamento.nosso_numero_com_dv).to eql(
|
14
|
-
expect(pagamento.nosso_numero).to eql(
|
15
|
-
expect(pagamento.carteira).to eql(
|
16
|
-
expect(pagamento.data_vencimento).to eql(
|
17
|
-
expect(pagamento.valor_titulo).to eql(
|
18
|
-
expect(pagamento.banco_recebedor).to eql(
|
19
|
-
expect(pagamento.agencia_recebedora_com_dv).to eql(
|
20
|
-
expect(pagamento.data_credito).to eql(
|
21
|
-
expect(pagamento.outras_despesas).to eql(
|
22
|
-
expect(pagamento.iof_desconto).to eql(
|
23
|
-
expect(pagamento.valor_abatimento).to eql(
|
24
|
-
expect(pagamento.desconto_concedito).to eql(
|
25
|
-
expect(pagamento.valor_recebido).to eql(
|
26
|
-
expect(pagamento.juros_mora).to eql(
|
27
|
-
expect(pagamento.outros_recebimento).to eql(
|
28
|
-
expect(pagamento.sequencial).to eql(
|
29
|
-
expect(pagamento.valor_tarifa).to eql(
|
30
|
-
expect(pagamento.data_ocorrencia).to eql(
|
13
|
+
expect(pagamento.agencia_com_dv).to eql('999991')
|
14
|
+
expect(pagamento.nosso_numero_com_dv).to eql('0000000289647')
|
15
|
+
expect(pagamento.nosso_numero).to eql('000000028964')
|
16
|
+
expect(pagamento.carteira).to eql('1')
|
17
|
+
expect(pagamento.data_vencimento).to eql('28042016')
|
18
|
+
expect(pagamento.valor_titulo).to eql('000000000000126')
|
19
|
+
expect(pagamento.banco_recebedor).to eql('001')
|
20
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('1234')
|
21
|
+
expect(pagamento.data_credito).to eql('29042016')
|
22
|
+
expect(pagamento.outras_despesas).to eql('000000000000000')
|
23
|
+
expect(pagamento.iof_desconto).to eql('000000000000000')
|
24
|
+
expect(pagamento.valor_abatimento).to eql('000000000000000')
|
25
|
+
expect(pagamento.desconto_concedito).to eql('000000000000000')
|
26
|
+
expect(pagamento.valor_recebido).to eql('000000000000126')
|
27
|
+
expect(pagamento.juros_mora).to eql('000000000000000')
|
28
|
+
expect(pagamento.outros_recebimento).to eql('000000000000000')
|
29
|
+
expect(pagamento.sequencial).to eql('00011')
|
30
|
+
expect(pagamento.valor_tarifa).to eql('000000000000600')
|
31
|
+
expect(pagamento.data_ocorrencia).to eql('28042016')
|
31
32
|
end
|
32
33
|
end
|
@@ -1,31 +1,32 @@
|
|
1
1
|
# -*_ encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
RSpec.describe Brcobranca::Retorno::Cnab240::Sicoob do
|
3
4
|
before do
|
4
|
-
@arquivo = File.join(File.dirname(__FILE__),
|
5
|
+
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICOOB.RET')
|
5
6
|
end
|
6
7
|
|
7
|
-
it
|
8
|
+
it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de titulos sem registro' do
|
8
9
|
pagamentos = described_class.load_lines(@arquivo)
|
9
10
|
expect(pagamentos.size).to eq(3)
|
10
11
|
pagamento = pagamentos.first
|
11
|
-
expect(pagamento.agencia_com_dv).to eql(
|
12
|
-
expect(pagamento.cedente_com_dv).to eql(
|
13
|
-
expect(pagamento.nosso_numero).to eql(
|
14
|
-
expect(pagamento.carteira).to eql(
|
15
|
-
expect(pagamento.data_vencimento).to eql(
|
16
|
-
expect(pagamento.valor_titulo).to eql(
|
17
|
-
expect(pagamento.banco_recebedor).to eql(
|
18
|
-
expect(pagamento.agencia_recebedora_com_dv).to eql(
|
19
|
-
expect(pagamento.data_credito).to eql(
|
20
|
-
expect(pagamento.outras_despesas).to eql(
|
21
|
-
expect(pagamento.iof_desconto).to eql(
|
22
|
-
expect(pagamento.valor_abatimento).to eql(
|
23
|
-
expect(pagamento.desconto_concedito).to eql(
|
24
|
-
expect(pagamento.valor_recebido).to eql(
|
25
|
-
expect(pagamento.juros_mora).to eql(
|
26
|
-
expect(pagamento.outros_recebimento).to eql(
|
27
|
-
expect(pagamento.sequencial).to eql(
|
28
|
-
expect(pagamento.valor_tarifa).to eql(
|
12
|
+
expect(pagamento.agencia_com_dv).to eql('030390')
|
13
|
+
expect(pagamento.cedente_com_dv).to eql('0000000489816')
|
14
|
+
expect(pagamento.nosso_numero).to eql('0000000083')
|
15
|
+
expect(pagamento.carteira).to eql('1')
|
16
|
+
expect(pagamento.data_vencimento).to eql('13082015')
|
17
|
+
expect(pagamento.valor_titulo).to eql('000000000000200')
|
18
|
+
expect(pagamento.banco_recebedor).to eql('756')
|
19
|
+
expect(pagamento.agencia_recebedora_com_dv).to eql('030390')
|
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')
|
29
30
|
|
30
31
|
# Dados que não consegui extrair dos registros T e U
|
31
32
|
# pagamento.convenio.should eql("")
|
@@ -1,34 +1,35 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Retorno::Cnab400::Base do
|
5
7
|
let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
|
6
8
|
|
7
|
-
describe
|
8
|
-
|
9
|
-
|
10
|
-
expect(Brcobranca::Retorno::Cnab400::Base.load_lines(nil)).to be_nil
|
9
|
+
describe '#load_lines' do
|
10
|
+
it 'retorna nil se o arquivo é nil' do
|
11
|
+
expect(described_class.load_lines(nil)).to be_nil
|
11
12
|
end
|
12
13
|
|
13
|
-
context
|
14
|
-
let(:nome_arquivo) {
|
14
|
+
context 'Bradesco' do
|
15
|
+
let(:nome_arquivo) { 'CNAB400BRADESCO.RET' }
|
15
16
|
|
16
17
|
subject { Brcobranca::Retorno::Cnab400::Bradesco }
|
17
18
|
|
18
|
-
it
|
19
|
+
it 'lê o arquivo pela classe do Bradesco' do
|
19
20
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
20
|
-
|
21
|
+
described_class.load_lines(arquivo)
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
24
|
-
context
|
25
|
-
let(:nome_arquivo) {
|
25
|
+
context 'Itaú' do
|
26
|
+
let(:nome_arquivo) { 'CNAB400ITAU.RET' }
|
26
27
|
|
27
28
|
subject { Brcobranca::Retorno::Cnab400::Itau }
|
28
29
|
|
29
|
-
it
|
30
|
+
it 'lê o arquivo pela classe do Itaú' do
|
30
31
|
expect(subject).to receive(:load_lines).with(arquivo, {})
|
31
|
-
|
32
|
+
described_class.load_lines(arquivo)
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Retorno::Cnab400::Bradesco do
|
@@ -34,7 +36,7 @@ RSpec.describe Brcobranca::Retorno::Cnab400::Bradesco do
|
|
34
36
|
expect(pagamento.outros_recebimento).to eql('0000000000000')
|
35
37
|
expect(pagamento.data_credito).to eql('150515')
|
36
38
|
expect(pagamento.sequencial).to eql('000002')
|
37
|
-
expect(pagamento.cod_de_ocorrencia).to eql(
|
39
|
+
expect(pagamento.cod_de_ocorrencia).to eql('02')
|
38
40
|
|
39
41
|
# Campos da classe base que não encontrei a relação com CNAB400
|
40
42
|
# parse.field :tipo_cobranca,80..80
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Retorno::Cnab400::Itau do
|
@@ -6,7 +8,8 @@ RSpec.describe Brcobranca::Retorno::Cnab400::Itau do
|
|
6
8
|
@arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400ITAU.RET')
|
7
9
|
end
|
8
10
|
|
9
|
-
it 'Ignora primeira linha que é header' do
|
11
|
+
it 'Ignora primeira linha que é header' do
|
12
|
+
pagamentos = described_class.load_lines(@arquivo)
|
10
13
|
pagamento = pagamentos.first
|
11
14
|
expect(pagamento.sequencial).to eql('000002')
|
12
15
|
end
|