brcobranca 6.9.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile.lock +7 -7
  5. data/README.md +14 -12
  6. data/Rakefile +1 -0
  7. data/brcobranca.gemspec +1 -0
  8. data/lib/brcobranca/arquivos/logos/banrisul.eps +121 -0
  9. data/lib/brcobranca/arquivos/logos/banrisul_carne.eps +121 -0
  10. data/lib/brcobranca/boleto/banco_brasil.rb +8 -8
  11. data/lib/brcobranca/boleto/banco_nordeste.rb +1 -0
  12. data/lib/brcobranca/boleto/banestes.rb +10 -10
  13. data/lib/brcobranca/boleto/banrisul.rb +84 -0
  14. data/lib/brcobranca/boleto/base.rb +6 -5
  15. data/lib/brcobranca/boleto/bradesco.rb +2 -1
  16. data/lib/brcobranca/boleto/caixa.rb +6 -5
  17. data/lib/brcobranca/boleto/hsbc.rb +7 -6
  18. data/lib/brcobranca/boleto/itau.rb +1 -0
  19. data/lib/brcobranca/boleto/santander.rb +1 -0
  20. data/lib/brcobranca/boleto/sicoob.rb +12 -11
  21. data/lib/brcobranca/boleto/sicredi.rb +1 -0
  22. data/lib/brcobranca/boleto/template/base.rb +5 -4
  23. data/lib/brcobranca/boleto/template/rghost.rb +7 -6
  24. data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
  25. data/lib/brcobranca/boleto/unicred.rb +1 -1
  26. data/lib/brcobranca/calculo.rb +14 -15
  27. data/lib/brcobranca/calculo_data.rb +2 -0
  28. data/lib/brcobranca/currency.rb +4 -3
  29. data/lib/brcobranca/formatacao.rb +2 -1
  30. data/lib/brcobranca/formatacao_string.rb +1 -0
  31. data/lib/brcobranca/limpeza.rb +1 -0
  32. data/lib/brcobranca/remessa/base.rb +2 -1
  33. data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +7 -6
  34. data/lib/brcobranca/remessa/cnab240/base.rb +16 -15
  35. data/lib/brcobranca/remessa/cnab240/caixa.rb +1 -0
  36. data/lib/brcobranca/remessa/cnab240/sicoob.rb +9 -9
  37. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +2 -3
  38. data/lib/brcobranca/remessa/cnab400/base.rb +8 -7
  39. data/lib/brcobranca/remessa/cnab400/bradesco.rb +2 -1
  40. data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -2
  41. data/lib/brcobranca/remessa/cnab400/itau.rb +2 -1
  42. data/lib/brcobranca/remessa/cnab400/santander.rb +7 -5
  43. data/lib/brcobranca/remessa/cnab400/sicoob.rb +6 -5
  44. data/lib/brcobranca/remessa/pagamento.rb +4 -4
  45. data/lib/brcobranca/retorno/base.rb +1 -0
  46. data/lib/brcobranca/retorno/cnab240/base.rb +6 -7
  47. data/lib/brcobranca/retorno/cnab240/caixa.rb +1 -0
  48. data/lib/brcobranca/retorno/cnab240/santander.rb +3 -3
  49. data/lib/brcobranca/retorno/cnab240/sicoob.rb +7 -6
  50. data/lib/brcobranca/retorno/cnab400/base.rb +5 -6
  51. data/lib/brcobranca/retorno/cnab400/bradesco.rb +1 -0
  52. data/lib/brcobranca/retorno/cnab400/itau.rb +1 -0
  53. data/lib/brcobranca/retorno/retorno_cbr643.rb +1 -0
  54. data/lib/brcobranca/retorno/retorno_cnab240.rb +3 -2
  55. data/lib/brcobranca/retorno/retorno_cnab400.rb +1 -0
  56. data/lib/brcobranca/util/empresa.rb +2 -3
  57. data/lib/brcobranca/version.rb +2 -1
  58. data/lib/brcobranca.rb +3 -1
  59. data/spec/brcobranca/base_spec.rb +51 -50
  60. data/spec/brcobranca/boleto/banco_brasil_spec.rb +46 -45
  61. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +13 -12
  62. data/spec/brcobranca/boleto/banestes_spec.rb +108 -105
  63. data/spec/brcobranca/boleto/banrisul_spec.rb +165 -0
  64. data/spec/brcobranca/boleto/bradesco_spec.rb +56 -52
  65. data/spec/brcobranca/boleto/caixa_spec.rb +9 -7
  66. data/spec/brcobranca/boleto/hsbc_spec.rb +17 -15
  67. data/spec/brcobranca/boleto/itau_spec.rb +22 -20
  68. data/spec/brcobranca/boleto/santander_spec.rb +16 -14
  69. data/spec/brcobranca/boleto/sicoob_spec.rb +94 -94
  70. data/spec/brcobranca/boleto/sicredi_spec.rb +32 -28
  71. data/spec/brcobranca/boleto/unicred_spec.rb +16 -14
  72. data/spec/brcobranca/boletos_em_lote_spec.rb +4 -3
  73. data/spec/brcobranca/calculo_data_spec.rb +2 -1
  74. data/spec/brcobranca/calculo_spec.rb +97 -97
  75. data/spec/brcobranca/currency_spec.rb +6 -5
  76. data/spec/brcobranca/formatacao_spec.rb +1 -0
  77. data/spec/brcobranca/formatacao_string_spec.rb +1 -2
  78. data/spec/brcobranca/limpeza_spec.rb +1 -0
  79. data/spec/brcobranca/remessa/base_spec.rb +11 -9
  80. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +11 -9
  81. data/spec/brcobranca/remessa/cnab240/base_spec.rb +11 -9
  82. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +12 -10
  83. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +13 -11
  84. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +2 -1
  85. data/spec/brcobranca/remessa/cnab400/base_spec.rb +20 -18
  86. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +11 -9
  87. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -9
  88. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +11 -9
  89. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +12 -10
  90. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +11 -9
  91. data/spec/brcobranca/remessa/pagamento_spec.rb +12 -10
  92. data/spec/brcobranca/retorno/cnab240/base_spec.rb +10 -9
  93. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +23 -22
  94. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +21 -20
  95. data/spec/brcobranca/retorno/cnab400/base_spec.rb +13 -12
  96. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +3 -1
  97. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -1
  98. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +1 -0
  99. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +1 -0
  100. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -0
  101. data/spec/brcobranca/rghost_spec.rb +1 -0
  102. data/spec/brcobranca/util/empresa_spec.rb +13 -12
  103. data/spec/brcobranca_spec.rb +6 -5
  104. data/spec/spec_helper.rb +3 -3
  105. data/spec/support/remessa_helpers.rb +3 -1
  106. data/spec/support/shared_examples/busca_logotipo.rb +2 -0
  107. data/spec/support/shared_examples/cnab240.rb +22 -20
  108. data/spec/support/shared_examples/cnab400.rb +12 -12
  109. data/spec/support/shared_examples/formatos_validos.rb +6 -4
  110. 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
- data_documento: Date.parse('2016-08-22'),
7
- data_vencimento: Date.parse('2016-08-22'),
8
- valor: 195.57,
9
- cedente: 'Kivanio Barbosa',
10
- documento_cedente: '12345678912',
11
- sacado: 'Claudio Pozzebom',
12
- sacado_documento: '12345678900',
13
- agencia: '0710',
14
- conta_corrente: '61900',
15
- convenio: '129',
16
- numero_documento: '8879',
17
- posto: '65',
18
- byte_idt: '2',
19
- carteira: '1'
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 eql(1)
32
- expect(boleto_novo.valor).to eql(0.0)
33
- expect(boleto_novo.valor_documento).to eql(0.0)
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 eql(1)
48
- expect(boleto_novo.valor).to eql(195.57)
49
- expect(boleto_novo.valor_documento).to eql(195.57)
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 eql(6)
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 eql(3)
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.' << format)
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 eql(1)
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.' << format)
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 eql(1)
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: 12345,
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 eql(1)
33
- expect(boleto_novo.valor).to eql(0.0)
34
- expect(boleto_novo.valor_documento).to eql(0.0)
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 eql(1)
49
- expect(boleto_novo.valor).to eql(0.0)
50
- expect(boleto_novo.valor_documento).to eql(0.0)
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("12345")
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 eql(6)
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 eql(5)
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.' << format)
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 eql(1)
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.' << format)
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 eql(1)
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: "#{format}".to_sym)
28
- tmp_file = Tempfile.new('foobar.' << format)
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 eql(1)
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 eql(0)
9
- expect('0'.modulo10).to eql(0)
10
- expect('001905009'.modulo10).to eql(5)
11
- expect('4014481606'.modulo10).to eql(9)
12
- expect('0680935031'.modulo10).to eql(4)
13
- expect('29004590'.modulo10).to eql(5)
14
- expect('341911012'.modulo10).to eql(1)
15
- expect('3456788005'.modulo10).to eql(8)
16
- expect('7123457000'.modulo10).to eql(1)
17
- expect('00571234511012345678'.modulo10).to eql(8)
18
- expect('001905009'.modulo10).to be_a_kind_of(Fixnum)
19
- expect(1_905_009.modulo10).to eql(5)
20
- expect(4_014_481_606.modulo10).to eql(9)
21
- expect(680_935_031.modulo10).to eql(4)
22
- expect(29_004_590.modulo10).to eql(5)
23
- expect(1_905_009.modulo10).to be_a_kind_of(Fixnum)
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 eql(255)
28
- expect('05009401448'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(164)
29
- expect('12387987777700168'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(460)
30
- expect('34230'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(55)
31
- expect('258281'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(118)
32
- expect('5444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Fixnum)
33
- expect('000000005444'.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Fixnum)
34
- expect(85_068_014_982.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(255)
35
- expect(5_009_401_448.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(164)
36
- expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(61)
37
- expect(1_129_004_590.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to eql(162)
38
- expect(5444.multiplicador(fatores: [2, 3, 4, 5, 6, 7, 8, 9])).to be_a_kind_of(Fixnum)
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 '85068014982').to eql(9)
50
- expect(modulo_11_de_9_ate_2 '05009401448').to eql(1)
51
- expect(modulo_11_de_9_ate_2 '12387987777700168').to eql(2)
52
- expect(modulo_11_de_9_ate_2 '4042').to eql(8)
53
- expect(modulo_11_de_9_ate_2 '61900').to eql(0)
54
- expect(modulo_11_de_9_ate_2 '0719').to eql(6)
55
- expect(modulo_11_de_9_ate_2 '000000005444').to eql(5)
56
- expect(modulo_11_de_9_ate_2 '5444').to eql(5)
57
- expect(modulo_11_de_9_ate_2 '01129004590').to eql(3)
58
- expect(modulo_11_de_9_ate_2 '15735').to eql(10)
59
- expect(modulo_11_de_9_ate_2 '777700168').to eql(0)
60
- expect(modulo_11_de_9_ate_2 '77700168').to eql(3)
61
- expect(modulo_11_de_9_ate_2 '00015448').to eql(2)
62
- expect(modulo_11_de_9_ate_2 '15448').to eql(2)
63
- expect(modulo_11_de_9_ate_2 '12345678').to eql(9)
64
- expect(modulo_11_de_9_ate_2 '34230').to eql(0)
65
- expect(modulo_11_de_9_ate_2 '258281').to eql(3)
66
- expect(modulo_11_de_9_ate_2 85_068_014_982).to eql(9)
67
- expect(modulo_11_de_9_ate_2 5_009_401_448).to eql(1)
68
- expect(modulo_11_de_9_ate_2 12_387_987_777_700_168).to eql(2)
69
- expect(modulo_11_de_9_ate_2 4042).to eql(8)
70
- expect(modulo_11_de_9_ate_2 61_900).to eql(0)
71
- expect(modulo_11_de_9_ate_2 719).to eql(6)
72
- expect(modulo_11_de_9_ate_2 5444).to eql(5)
73
- expect(modulo_11_de_9_ate_2 1_129_004_590).to eql(3)
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 5444).to be_a_kind_of(Fixnum)
78
- expect(modulo_11_de_9_ate_2 '5444').to be_a_kind_of(Fixnum)
79
- expect(modulo_11_de_9_ate_2 '000000005444').to be_a_kind_of(Fixnum)
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 '85068014982').to eql(9)
91
- expect(modulo_11_de_9_ate_2_map_10_X '05009401448').to eql(1)
92
- expect(modulo_11_de_9_ate_2_map_10_X '12387987777700168').to eql(2)
93
- expect(modulo_11_de_9_ate_2_map_10_X '4042').to eql(8)
94
- expect(modulo_11_de_9_ate_2_map_10_X '61900').to eql(0)
95
- expect(modulo_11_de_9_ate_2_map_10_X '0719').to eql(6)
96
- expect(modulo_11_de_9_ate_2_map_10_X '000000005444').to eql(5)
97
- expect(modulo_11_de_9_ate_2_map_10_X '5444').to eql(5)
98
- expect(modulo_11_de_9_ate_2_map_10_X '01129004590').to eql(3)
99
- expect(modulo_11_de_9_ate_2_map_10_X '15735').to eql('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 '15735').to be_a_kind_of(String)
104
- expect(modulo_11_de_9_ate_2_map_10_X '5444').to be_a_kind_of(Fixnum)
105
- expect(modulo_11_de_9_ate_2_map_10_X '000000005444').to be_a_kind_of(Fixnum)
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 '0019373700000001000500940144816060680935031').to eql(3)
121
- expect(modulo_11_de_2_ate_9 '3419166700000123451101234567880057123457000').to eql(6)
122
- expect(modulo_11_de_2_ate_9 '7459588800000774303611264424020000000002674').to eql(4)
123
- expect(modulo_11_de_2_ate_9 '7459588800000580253611264424020000000003131').to eql(1)
124
- expect(modulo_11_de_2_ate_9 19_373_700_000_001_000_500_940_144_816_060_680_935_031).to eql(3)
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 19_373_700_000_001_000_500_940_144_816_060_680_935_031).to be_a_kind_of(Fixnum)
129
- expect(modulo_11_de_2_ate_9 '0019373700000001000500940144816060680935031').to be_a_kind_of(Fixnum)
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 "000100000000190000045").to eql(4) }
145
- it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0 "442300000520270100183").to eql(4) }
146
- it { expect(modulo_11_com_3_7_9_1_map_10_e_10_por_0 "442300000520270100184").to eql(1) }
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 '19669').to eql('P')
160
- expect(modulo_11_de_2_ate_7_map_10_P_e_11_0 '19694').to eql(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 eql(3)
166
- expect(8.soma_digitos).to eql(8)
167
- expect('111'.soma_digitos).to eql(3)
168
- expect('8'.soma_digitos).to eql(8)
169
- expect(0.soma_digitos).to eql(0)
170
- expect(111.soma_digitos).to be_a_kind_of(Fixnum)
171
- expect('111'.soma_digitos).to be_a_kind_of(Fixnum)
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("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(19669.duplo_digito).to eql("28") }
181
- it { expect('00000032000272012924021'.duplo_digito).to eql("79") }
182
- it { expect('00000033000272012924021'.duplo_digito).to eql("65") }
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 eql(1234.0)
37
- expect('123.4'.to_number).to eql(123.4)
38
- expect('123,4'.to_number).to eql(123.4)
39
- expect('1234.03'.to_number).to eql(1234.03)
40
- expect('1234,03'.to_number).to eql(1234.03)
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,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Formatacao 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,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Limpeza 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::Base do
5
7
  let(:pagamento) do
6
8
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
7
- data_vencimento: Date.current,
8
- nosso_numero: 123,
9
- documento_sacado: '12345678901',
10
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
11
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
12
- bairro_sacado: 'São josé dos quatro apostolos magros',
13
- cep_sacado: '12345678',
14
- cidade_sacado: 'Santa rita de cássia maria da silva',
15
- uf_sacado: 'SP')
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
- data_vencimento: Date.current,
8
- nosso_numero: 123,
9
- documento_sacado: '12345678901',
10
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
11
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
12
- bairro_sacado: 'São josé dos quatro apostolos magros',
13
- cep_sacado: '12345678',
14
- cidade_sacado: 'Santa rita de cássia maria da silva',
15
- uf_sacado: 'SP')
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',