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,23 +1,27 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Boleto::Sicredi do
|
5
|
-
let(:valid_attributes)
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
let(:valid_attributes) do
|
8
|
+
{
|
9
|
+
data_documento: Date.parse('2016-08-22'),
|
10
|
+
data_vencimento: Date.parse('2016-08-22'),
|
11
|
+
valor: 195.57,
|
12
|
+
cedente: 'Kivanio Barbosa',
|
13
|
+
documento_cedente: '12345678912',
|
14
|
+
sacado: 'Claudio Pozzebom',
|
15
|
+
sacado_documento: '12345678900',
|
16
|
+
agencia: '0710',
|
17
|
+
conta_corrente: '61900',
|
18
|
+
convenio: '129',
|
19
|
+
numero_documento: '8879',
|
20
|
+
posto: '65',
|
21
|
+
byte_idt: '2',
|
22
|
+
carteira: '1'
|
23
|
+
}
|
24
|
+
end
|
21
25
|
|
22
26
|
it 'Criar nova instancia com atributos padrões' do
|
23
27
|
boleto_novo = described_class.new
|
@@ -28,9 +32,9 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
|
|
28
32
|
expect(boleto_novo.data_documento).to eql(Date.current)
|
29
33
|
expect(boleto_novo.data_vencimento).to eql(Date.current)
|
30
34
|
expect(boleto_novo.aceite).to eql('S')
|
31
|
-
expect(boleto_novo.quantidade).to
|
32
|
-
expect(boleto_novo.valor).to
|
33
|
-
expect(boleto_novo.valor_documento).to
|
35
|
+
expect(boleto_novo.quantidade).to be(1)
|
36
|
+
expect(boleto_novo.valor).to be(0.0)
|
37
|
+
expect(boleto_novo.valor_documento).to be(0.0)
|
34
38
|
expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
|
35
39
|
expect(boleto_novo.carteira).to eql('3')
|
36
40
|
end
|
@@ -44,9 +48,9 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
|
|
44
48
|
expect(boleto_novo.data_documento).to eql(Date.parse('2016-08-22'))
|
45
49
|
expect(boleto_novo.data_vencimento).to eql(Date.parse('2016-08-22'))
|
46
50
|
expect(boleto_novo.aceite).to eql('S')
|
47
|
-
expect(boleto_novo.quantidade).to
|
48
|
-
expect(boleto_novo.valor).to
|
49
|
-
expect(boleto_novo.valor_documento).to
|
51
|
+
expect(boleto_novo.quantidade).to be(1)
|
52
|
+
expect(boleto_novo.valor).to be(195.57)
|
53
|
+
expect(boleto_novo.valor_documento).to be(195.57)
|
50
54
|
expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
|
51
55
|
expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
|
52
56
|
expect(boleto_novo.documento_cedente).to eql('12345678912')
|
@@ -118,13 +122,13 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
|
|
118
122
|
it 'Não permitir gerar boleto com atributos inválido' do
|
119
123
|
boleto_novo = described_class.new
|
120
124
|
expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
|
121
|
-
expect(boleto_novo.errors.count).to
|
125
|
+
expect(boleto_novo.errors.count).to be(6)
|
122
126
|
end
|
123
127
|
|
124
128
|
it 'Montar nosso_numero_boleto' do
|
125
129
|
boleto_novo = described_class.new(valid_attributes)
|
126
130
|
expect(boleto_novo.nosso_numero_boleto).to eql('16/208879-3')
|
127
|
-
expect(boleto_novo.nosso_numero_dv).to
|
131
|
+
expect(boleto_novo.nosso_numero_dv).to be(3)
|
128
132
|
end
|
129
133
|
|
130
134
|
it 'Montar agencia_conta_boleto' do
|
@@ -141,12 +145,12 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
|
|
141
145
|
|
142
146
|
%w(pdf jpg tif png).each do |format|
|
143
147
|
file_body = boleto_novo.send("to_#{format}".to_sym)
|
144
|
-
tmp_file = Tempfile.new('foobar.'
|
148
|
+
tmp_file = Tempfile.new(['foobar.', format])
|
145
149
|
tmp_file.puts file_body
|
146
150
|
tmp_file.close
|
147
151
|
expect(File.exist?(tmp_file.path)).to be_truthy
|
148
152
|
expect(File.stat(tmp_file.path).zero?).to be_falsey
|
149
|
-
expect(File.delete(tmp_file.path)).to
|
153
|
+
expect(File.delete(tmp_file.path)).to be(1)
|
150
154
|
expect(File.exist?(tmp_file.path)).to be_falsey
|
151
155
|
end
|
152
156
|
end
|
@@ -162,12 +166,12 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
|
|
162
166
|
|
163
167
|
%w(pdf jpg tif png).each do |format|
|
164
168
|
file_body = boleto_novo.to(format)
|
165
|
-
tmp_file = Tempfile.new('foobar.'
|
169
|
+
tmp_file = Tempfile.new(['foobar.', format])
|
166
170
|
tmp_file.puts file_body
|
167
171
|
tmp_file.close
|
168
172
|
expect(File.exist?(tmp_file.path)).to be_truthy
|
169
173
|
expect(File.stat(tmp_file.path).zero?).to be_falsey
|
170
|
-
expect(File.delete(tmp_file.path)).to
|
174
|
+
expect(File.delete(tmp_file.path)).to be(1)
|
171
175
|
expect(File.exist?(tmp_file.path)).to be_falsey
|
172
176
|
end
|
173
177
|
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Boleto::Unicred do
|
@@ -13,7 +15,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
13
15
|
sacado_documento: '12345678900',
|
14
16
|
agencia: '4042',
|
15
17
|
conta_corrente: '61900',
|
16
|
-
convenio:
|
18
|
+
convenio: 12_345,
|
17
19
|
numero_documento: '00168',
|
18
20
|
posto: '1',
|
19
21
|
byte_idt: '7'
|
@@ -29,9 +31,9 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
29
31
|
expect(boleto_novo.data_documento).to eql(Date.today)
|
30
32
|
expect(boleto_novo.data_vencimento).to eql(Date.today)
|
31
33
|
expect(boleto_novo.aceite).to eql('S')
|
32
|
-
expect(boleto_novo.quantidade).to
|
33
|
-
expect(boleto_novo.valor).to
|
34
|
-
expect(boleto_novo.valor_documento).to
|
34
|
+
expect(boleto_novo.quantidade).to be(1)
|
35
|
+
expect(boleto_novo.valor).to be(0.0)
|
36
|
+
expect(boleto_novo.valor_documento).to be(0.0)
|
35
37
|
expect(boleto_novo.local_pagamento).to eql('PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DA UNICRED')
|
36
38
|
expect(boleto_novo.carteira).to eql('3')
|
37
39
|
end
|
@@ -45,9 +47,9 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
45
47
|
expect(boleto_novo.data_documento).to eql(Date.parse('2012-01-18'))
|
46
48
|
expect(boleto_novo.data_vencimento).to eql(Date.today)
|
47
49
|
expect(boleto_novo.aceite).to eql('S')
|
48
|
-
expect(boleto_novo.quantidade).to
|
49
|
-
expect(boleto_novo.valor).to
|
50
|
-
expect(boleto_novo.valor_documento).to
|
50
|
+
expect(boleto_novo.quantidade).to be(1)
|
51
|
+
expect(boleto_novo.valor).to be(0.0)
|
52
|
+
expect(boleto_novo.valor_documento).to be(0.0)
|
51
53
|
expect(boleto_novo.local_pagamento).to eql('PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DA UNICRED')
|
52
54
|
expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
|
53
55
|
expect(boleto_novo.documento_cedente).to eql('12345678912')
|
@@ -55,7 +57,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
55
57
|
expect(boleto_novo.sacado_documento).to eql('12345678900')
|
56
58
|
expect(boleto_novo.conta_corrente).to eql('61900')
|
57
59
|
expect(boleto_novo.agencia).to eql('4042')
|
58
|
-
expect(boleto_novo.convenio).to eql(
|
60
|
+
expect(boleto_novo.convenio).to eql('12345')
|
59
61
|
expect(boleto_novo.numero_documento).to eql('00168')
|
60
62
|
expect(boleto_novo.carteira).to eql('3')
|
61
63
|
end
|
@@ -80,7 +82,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
80
82
|
it 'Não permitir gerar boleto com atributos inválido' do
|
81
83
|
boleto_novo = described_class.new
|
82
84
|
expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
|
83
|
-
expect(boleto_novo.errors.count).to
|
85
|
+
expect(boleto_novo.errors.count).to be(6)
|
84
86
|
end
|
85
87
|
|
86
88
|
it 'Montar nosso_numero_boleto' do
|
@@ -93,7 +95,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
93
95
|
boleto_novo.numero_documento = '13871'
|
94
96
|
boleto_novo.carteira = '3'
|
95
97
|
expect(boleto_novo.nosso_numero_boleto).to eql('12/213871-5')
|
96
|
-
expect(boleto_novo.nosso_numero_dv).to
|
98
|
+
expect(boleto_novo.nosso_numero_dv).to be(5)
|
97
99
|
end
|
98
100
|
|
99
101
|
it 'Montar agencia_conta_boleto' do
|
@@ -114,12 +116,12 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
114
116
|
|
115
117
|
%w(pdf jpg tif png).each do |format|
|
116
118
|
file_body = boleto_novo.send("to_#{format}".to_sym)
|
117
|
-
tmp_file = Tempfile.new('foobar.'
|
119
|
+
tmp_file = Tempfile.new(['foobar.', format])
|
118
120
|
tmp_file.puts file_body
|
119
121
|
tmp_file.close
|
120
122
|
expect(File.exist?(tmp_file.path)).to be_truthy
|
121
123
|
expect(File.stat(tmp_file.path).zero?).to be_falsey
|
122
|
-
expect(File.delete(tmp_file.path)).to
|
124
|
+
expect(File.delete(tmp_file.path)).to be(1)
|
123
125
|
expect(File.exist?(tmp_file.path)).to be_falsey
|
124
126
|
end
|
125
127
|
end
|
@@ -135,12 +137,12 @@ RSpec.describe Brcobranca::Boleto::Unicred do
|
|
135
137
|
|
136
138
|
%w(pdf jpg tif png).each do |format|
|
137
139
|
file_body = boleto_novo.to(format)
|
138
|
-
tmp_file = Tempfile.new('foobar.'
|
140
|
+
tmp_file = Tempfile.new(['foobar.', format])
|
139
141
|
tmp_file.puts file_body
|
140
142
|
tmp_file.close
|
141
143
|
expect(File.exist?(tmp_file.path)).to be_truthy
|
142
144
|
expect(File.stat(tmp_file.path).zero?).to be_falsey
|
143
|
-
expect(File.delete(tmp_file.path)).to
|
145
|
+
expect(File.delete(tmp_file.path)).to be(1)
|
144
146
|
expect(File.exist?(tmp_file.path)).to be_falsey
|
145
147
|
end
|
146
148
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe 'Muúltiplos boletos' do #:nodoc:[all]
|
@@ -24,13 +25,13 @@ RSpec.describe 'Muúltiplos boletos' do #:nodoc:[all]
|
|
24
25
|
boletos = [boleto_1, boleto_2, boleto_3]
|
25
26
|
|
26
27
|
%w(pdf jpg tif png).each do |format|
|
27
|
-
file_body = Brcobranca::Boleto::Base.lote(boletos, formato:
|
28
|
-
tmp_file = Tempfile.new('foobar.'
|
28
|
+
file_body = Brcobranca::Boleto::Base.lote(boletos, formato: format.to_s.to_sym)
|
29
|
+
tmp_file = Tempfile.new(['foobar.', format])
|
29
30
|
tmp_file.puts file_body
|
30
31
|
tmp_file.close
|
31
32
|
expect(File.exist?(tmp_file.path)).to be_truthy
|
32
33
|
expect(File.stat(tmp_file.path).zero?).to be_falsey
|
33
|
-
expect(File.delete(tmp_file.path)).to
|
34
|
+
expect(File.delete(tmp_file.path)).to be(1)
|
34
35
|
expect(File.exist?(tmp_file.path)).to be_falsey
|
35
36
|
end
|
36
37
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe Brcobranca::CalculoData do
|
@@ -21,4 +22,4 @@ RSpec.describe Brcobranca::CalculoData do
|
|
21
22
|
# Ano 2008 eh bisexto
|
22
23
|
expect((Date.parse '2008-04-08').to_juliano).to eql('0998')
|
23
24
|
end
|
24
|
-
end
|
25
|
+
end
|
@@ -1,41 +1,42 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe Brcobranca::Calculo do
|
5
6
|
it 'Calcula módulo 10' do
|
6
7
|
expect { ''.modulo10 }.to raise_error(ArgumentError)
|
7
8
|
expect { ' '.modulo10 }.to raise_error(ArgumentError)
|
8
|
-
expect(0.modulo10).to
|
9
|
-
expect('0'.modulo10).to
|
10
|
-
expect('001905009'.modulo10).to
|
11
|
-
expect('4014481606'.modulo10).to
|
12
|
-
expect('0680935031'.modulo10).to
|
13
|
-
expect('29004590'.modulo10).to
|
14
|
-
expect('341911012'.modulo10).to
|
15
|
-
expect('3456788005'.modulo10).to
|
16
|
-
expect('7123457000'.modulo10).to
|
17
|
-
expect('00571234511012345678'.modulo10).to
|
18
|
-
expect('001905009'.modulo10).to be_a_kind_of(
|
19
|
-
expect(1_905_009.modulo10).to
|
20
|
-
expect(4_014_481_606.modulo10).to
|
21
|
-
expect(680_935_031.modulo10).to
|
22
|
-
expect(29_004_590.modulo10).to
|
23
|
-
expect(1_905_009.modulo10).to be_a_kind_of(
|
9
|
+
expect(0.modulo10).to be(0)
|
10
|
+
expect('0'.modulo10).to be(0)
|
11
|
+
expect('001905009'.modulo10).to be(5)
|
12
|
+
expect('4014481606'.modulo10).to be(9)
|
13
|
+
expect('0680935031'.modulo10).to be(4)
|
14
|
+
expect('29004590'.modulo10).to be(5)
|
15
|
+
expect('341911012'.modulo10).to be(1)
|
16
|
+
expect('3456788005'.modulo10).to be(8)
|
17
|
+
expect('7123457000'.modulo10).to be(1)
|
18
|
+
expect('00571234511012345678'.modulo10).to be(8)
|
19
|
+
expect('001905009'.modulo10).to be_a_kind_of(Integer)
|
20
|
+
expect(1_905_009.modulo10).to be(5)
|
21
|
+
expect(4_014_481_606.modulo10).to be(9)
|
22
|
+
expect(680_935_031.modulo10).to be(4)
|
23
|
+
expect(29_004_590.modulo10).to be(5)
|
24
|
+
expect(1_905_009.modulo10).to be_a_kind_of(Integer)
|
24
25
|
end
|
25
26
|
|
26
27
|
it 'Multiplicador' do
|
27
|
-
expect('85068014982'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
28
|
-
expect('05009401448'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
29
|
-
expect('12387987777700168'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
30
|
-
expect('34230'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
31
|
-
expect('258281'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
32
|
-
expect('5444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(
|
33
|
-
expect('000000005444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(
|
34
|
-
expect(85_068_014_982.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
35
|
-
expect(5_009_401_448.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
36
|
-
expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
37
|
-
expect(1_129_004_590.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to
|
38
|
-
expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(
|
28
|
+
expect('85068014982'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(255)
|
29
|
+
expect('05009401448'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(164)
|
30
|
+
expect('12387987777700168'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(460)
|
31
|
+
expect('34230'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(55)
|
32
|
+
expect('258281'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(118)
|
33
|
+
expect('5444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Integer)
|
34
|
+
expect('000000005444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Integer)
|
35
|
+
expect(85_068_014_982.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(255)
|
36
|
+
expect(5_009_401_448.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(164)
|
37
|
+
expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(61)
|
38
|
+
expect(1_129_004_590.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be(162)
|
39
|
+
expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Integer)
|
39
40
|
expect { '2582fd81'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9]) }.to raise_error(ArgumentError)
|
40
41
|
expect { 5444.multiplicador }.to raise_error(ArgumentError)
|
41
42
|
end
|
@@ -46,63 +47,62 @@ RSpec.describe Brcobranca::Calculo do
|
|
46
47
|
end
|
47
48
|
|
48
49
|
it 'Calcula o resultado' do
|
49
|
-
expect(modulo_11_de_9_ate_2
|
50
|
-
expect(modulo_11_de_9_ate_2
|
51
|
-
expect(modulo_11_de_9_ate_2
|
52
|
-
expect(modulo_11_de_9_ate_2
|
53
|
-
expect(modulo_11_de_9_ate_2
|
54
|
-
expect(modulo_11_de_9_ate_2
|
55
|
-
expect(modulo_11_de_9_ate_2
|
56
|
-
expect(modulo_11_de_9_ate_2
|
57
|
-
expect(modulo_11_de_9_ate_2
|
58
|
-
expect(modulo_11_de_9_ate_2
|
59
|
-
expect(modulo_11_de_9_ate_2
|
60
|
-
expect(modulo_11_de_9_ate_2
|
61
|
-
expect(modulo_11_de_9_ate_2
|
62
|
-
expect(modulo_11_de_9_ate_2
|
63
|
-
expect(modulo_11_de_9_ate_2
|
64
|
-
expect(modulo_11_de_9_ate_2
|
65
|
-
expect(modulo_11_de_9_ate_2
|
66
|
-
expect(modulo_11_de_9_ate_2
|
67
|
-
expect(modulo_11_de_9_ate_2
|
68
|
-
expect(modulo_11_de_9_ate_2
|
69
|
-
expect(modulo_11_de_9_ate_2
|
70
|
-
expect(modulo_11_de_9_ate_2
|
71
|
-
expect(modulo_11_de_9_ate_2
|
72
|
-
expect(modulo_11_de_9_ate_2
|
73
|
-
expect(modulo_11_de_9_ate_2
|
50
|
+
expect(modulo_11_de_9_ate_2('85068014982')).to be(9)
|
51
|
+
expect(modulo_11_de_9_ate_2('05009401448')).to be(1)
|
52
|
+
expect(modulo_11_de_9_ate_2('12387987777700168')).to be(2)
|
53
|
+
expect(modulo_11_de_9_ate_2('4042')).to be(8)
|
54
|
+
expect(modulo_11_de_9_ate_2('61900')).to be(0)
|
55
|
+
expect(modulo_11_de_9_ate_2('0719')).to be(6)
|
56
|
+
expect(modulo_11_de_9_ate_2('000000005444')).to be(5)
|
57
|
+
expect(modulo_11_de_9_ate_2('5444')).to be(5)
|
58
|
+
expect(modulo_11_de_9_ate_2('01129004590')).to be(3)
|
59
|
+
expect(modulo_11_de_9_ate_2('15735')).to be(10)
|
60
|
+
expect(modulo_11_de_9_ate_2('777700168')).to be(0)
|
61
|
+
expect(modulo_11_de_9_ate_2('77700168')).to be(3)
|
62
|
+
expect(modulo_11_de_9_ate_2('00015448')).to be(2)
|
63
|
+
expect(modulo_11_de_9_ate_2('15448')).to be(2)
|
64
|
+
expect(modulo_11_de_9_ate_2('12345678')).to be(9)
|
65
|
+
expect(modulo_11_de_9_ate_2('34230')).to be(0)
|
66
|
+
expect(modulo_11_de_9_ate_2('258281')).to be(3)
|
67
|
+
expect(modulo_11_de_9_ate_2(85_068_014_982)).to be(9)
|
68
|
+
expect(modulo_11_de_9_ate_2(5_009_401_448)).to be(1)
|
69
|
+
expect(modulo_11_de_9_ate_2(12_387_987_777_700_168)).to be(2)
|
70
|
+
expect(modulo_11_de_9_ate_2(4042)).to be(8)
|
71
|
+
expect(modulo_11_de_9_ate_2(61_900)).to be(0)
|
72
|
+
expect(modulo_11_de_9_ate_2(719)).to be(6)
|
73
|
+
expect(modulo_11_de_9_ate_2(5444)).to be(5)
|
74
|
+
expect(modulo_11_de_9_ate_2(1_129_004_590)).to be(3)
|
74
75
|
end
|
75
76
|
|
76
77
|
it 'Retorna o tipo correto' do
|
77
|
-
expect(modulo_11_de_9_ate_2
|
78
|
-
expect(modulo_11_de_9_ate_2
|
79
|
-
expect(modulo_11_de_9_ate_2
|
78
|
+
expect(modulo_11_de_9_ate_2(5444)).to be_a_kind_of(Integer)
|
79
|
+
expect(modulo_11_de_9_ate_2('5444')).to be_a_kind_of(Integer)
|
80
|
+
expect(modulo_11_de_9_ate_2('000000005444')).to be_a_kind_of(Integer)
|
80
81
|
end
|
81
82
|
end
|
82
83
|
|
83
84
|
describe 'Módulo 11 de 9 até 2 trocando 10 por X' do
|
84
|
-
|
85
85
|
def modulo_11_de_9_ate_2_map_10_X(numero)
|
86
86
|
numero.modulo11(mapeamento: { 10 => 'X' })
|
87
87
|
end
|
88
88
|
|
89
89
|
it 'Calcula o resultado' do
|
90
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
91
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
92
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
93
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
94
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
95
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
96
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
97
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
98
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
99
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
90
|
+
expect(modulo_11_de_9_ate_2_map_10_X('85068014982')).to be(9)
|
91
|
+
expect(modulo_11_de_9_ate_2_map_10_X('05009401448')).to be(1)
|
92
|
+
expect(modulo_11_de_9_ate_2_map_10_X('12387987777700168')).to be(2)
|
93
|
+
expect(modulo_11_de_9_ate_2_map_10_X('4042')).to be(8)
|
94
|
+
expect(modulo_11_de_9_ate_2_map_10_X('61900')).to be(0)
|
95
|
+
expect(modulo_11_de_9_ate_2_map_10_X('0719')).to be(6)
|
96
|
+
expect(modulo_11_de_9_ate_2_map_10_X('000000005444')).to be(5)
|
97
|
+
expect(modulo_11_de_9_ate_2_map_10_X('5444')).to be(5)
|
98
|
+
expect(modulo_11_de_9_ate_2_map_10_X('01129004590')).to be(3)
|
99
|
+
expect(modulo_11_de_9_ate_2_map_10_X('15735')).to eql('X')
|
100
100
|
end
|
101
101
|
|
102
102
|
it 'Retorna o tipo correto' do
|
103
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
104
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
105
|
-
expect(modulo_11_de_9_ate_2_map_10_X
|
103
|
+
expect(modulo_11_de_9_ate_2_map_10_X('15735')).to be_a_kind_of(String)
|
104
|
+
expect(modulo_11_de_9_ate_2_map_10_X('5444')).to be_a_kind_of(Integer)
|
105
|
+
expect(modulo_11_de_9_ate_2_map_10_X('000000005444')).to be_a_kind_of(Integer)
|
106
106
|
end
|
107
107
|
|
108
108
|
it { expect { modulo_11_de_9_ate_2_map_10_X '2582fd81' }.to raise_error(ArgumentError) }
|
@@ -117,16 +117,16 @@ RSpec.describe Brcobranca::Calculo do
|
|
117
117
|
end
|
118
118
|
|
119
119
|
it 'Calcula o resultado' do
|
120
|
-
expect(modulo_11_de_2_ate_9
|
121
|
-
expect(modulo_11_de_2_ate_9
|
122
|
-
expect(modulo_11_de_2_ate_9
|
123
|
-
expect(modulo_11_de_2_ate_9
|
124
|
-
expect(modulo_11_de_2_ate_9
|
120
|
+
expect(modulo_11_de_2_ate_9('0019373700000001000500940144816060680935031')).to be(3)
|
121
|
+
expect(modulo_11_de_2_ate_9('3419166700000123451101234567880057123457000')).to be(6)
|
122
|
+
expect(modulo_11_de_2_ate_9('7459588800000774303611264424020000000002674')).to be(4)
|
123
|
+
expect(modulo_11_de_2_ate_9('7459588800000580253611264424020000000003131')).to be(1)
|
124
|
+
expect(modulo_11_de_2_ate_9(19_373_700_000_001_000_500_940_144_816_060_680_935_031)).to be(3)
|
125
125
|
end
|
126
126
|
|
127
127
|
it 'Retorna o tipo correto' do
|
128
|
-
expect(modulo_11_de_2_ate_9
|
129
|
-
expect(modulo_11_de_2_ate_9
|
128
|
+
expect(modulo_11_de_2_ate_9(19_373_700_000_001_000_500_940_144_816_060_680_935_031)).to be_a_kind_of(Integer)
|
129
|
+
expect(modulo_11_de_2_ate_9('0019373700000001000500940144816060680935031')).to be_a_kind_of(Integer)
|
130
130
|
end
|
131
131
|
|
132
132
|
it { expect { modulo_11_de_2_ate_9 '2582fd81' }.to raise_error(ArgumentError) }
|
@@ -141,9 +141,9 @@ RSpec.describe Brcobranca::Calculo do
|
|
141
141
|
) { |t| 11 - (t % 11) }
|
142
142
|
end
|
143
143
|
|
144
|
-
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0
|
145
|
-
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0
|
146
|
-
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0
|
144
|
+
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0('000100000000190000045')).to be(4) }
|
145
|
+
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0('442300000520270100183')).to be(4) }
|
146
|
+
it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0('442300000520270100184')).to be(1) }
|
147
147
|
end
|
148
148
|
|
149
149
|
# Ex: Bradesco
|
@@ -156,29 +156,29 @@ RSpec.describe Brcobranca::Calculo do
|
|
156
156
|
end
|
157
157
|
|
158
158
|
it 'Calcula o resultado' do
|
159
|
-
expect(modulo_11_de_2_ate_7_map_10_P_e_11_0
|
160
|
-
expect(modulo_11_de_2_ate_7_map_10_P_e_11_0
|
159
|
+
expect(modulo_11_de_2_ate_7_map_10_P_e_11_0('19669')).to eql('P')
|
160
|
+
expect(modulo_11_de_2_ate_7_map_10_P_e_11_0('19694')).to be(0)
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
164
|
it 'Calcula a soma dos digitos de um número com mais de 1 algarismo' do
|
165
|
-
expect(111.soma_digitos).to
|
166
|
-
expect(8.soma_digitos).to
|
167
|
-
expect('111'.soma_digitos).to
|
168
|
-
expect('8'.soma_digitos).to
|
169
|
-
expect(0.soma_digitos).to
|
170
|
-
expect(111.soma_digitos).to be_a_kind_of(
|
171
|
-
expect('111'.soma_digitos).to be_a_kind_of(
|
165
|
+
expect(111.soma_digitos).to be(3)
|
166
|
+
expect(8.soma_digitos).to be(8)
|
167
|
+
expect('111'.soma_digitos).to be(3)
|
168
|
+
expect('8'.soma_digitos).to be(8)
|
169
|
+
expect(0.soma_digitos).to be(0)
|
170
|
+
expect(111.soma_digitos).to be_a_kind_of(Integer)
|
171
|
+
expect('111'.soma_digitos).to be_a_kind_of(Integer)
|
172
172
|
end
|
173
173
|
|
174
174
|
describe '#duplo_digito' do
|
175
|
-
it { expect(111.duplo_digito).to eql(
|
176
|
-
it { expect(8.duplo_digito).to eql(
|
177
|
-
it { expect('111'.duplo_digito).to eql(
|
178
|
-
it { expect('8'.duplo_digito).to eql(
|
179
|
-
it { expect(0.duplo_digito).to eql(
|
180
|
-
it { expect(
|
181
|
-
it { expect('00000032000272012924021'.duplo_digito).to eql(
|
182
|
-
it { expect('00000033000272012924021'.duplo_digito).to eql(
|
175
|
+
it { expect(111.duplo_digito).to eql('50') }
|
176
|
+
it { expect(8.duplo_digito).to eql('33') }
|
177
|
+
it { expect('111'.duplo_digito).to eql('50') }
|
178
|
+
it { expect('8'.duplo_digito).to eql('33') }
|
179
|
+
it { expect(0.duplo_digito).to eql('00') }
|
180
|
+
it { expect(19_669.duplo_digito).to eql('28') }
|
181
|
+
it { expect('00000032000272012924021'.duplo_digito).to eql('79') }
|
182
|
+
it { expect('00000033000272012924021'.duplo_digito).to eql('65') }
|
183
183
|
end
|
184
184
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe Brcobranca::Currency::String do
|
@@ -33,11 +34,11 @@ RSpec.describe Brcobranca::Currency::String do
|
|
33
34
|
end
|
34
35
|
|
35
36
|
it 'converts value seted to valid ruby number' do
|
36
|
-
expect('1234'.to_number).to
|
37
|
-
expect('123.4'.to_number).to
|
38
|
-
expect('123,4'.to_number).to
|
39
|
-
expect('1234.03'.to_number).to
|
40
|
-
expect('1234,03'.to_number).to
|
37
|
+
expect('1234'.to_number).to be(1234.0)
|
38
|
+
expect('123.4'.to_number).to be(123.4)
|
39
|
+
expect('123,4'.to_number).to be(123.4)
|
40
|
+
expect('1234.03'.to_number).to be(1234.03)
|
41
|
+
expect('1234,03'.to_number).to be(1234.03)
|
41
42
|
end
|
42
43
|
|
43
44
|
it 'returns nil when is not possible convert value seted' do
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
2
3
|
require 'spec_helper'
|
3
4
|
|
4
5
|
RSpec.describe Brcobranca::FormatacaoString do
|
5
|
-
|
6
6
|
context 'no arguments' do
|
7
7
|
it { expect { ''.format_size }.to raise_error(ArgumentError) }
|
8
8
|
end
|
@@ -21,5 +21,4 @@ RSpec.describe Brcobranca::FormatacaoString do
|
|
21
21
|
it { expect('SOCIEDADE'.format_size(30)).to eql('SOCIEDADE ') }
|
22
22
|
it { expect('caçaróla'.format_size(30)).to eql('cacarola ') }
|
23
23
|
end
|
24
|
-
|
25
24
|
end
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
#
|
3
|
+
|
2
4
|
require 'spec_helper'
|
3
5
|
|
4
6
|
RSpec.describe Brcobranca::Remessa::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::BancoBrasil 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',
|