brcobranca 10.0.0 → 10.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -21
  3. data/README.md +5 -0
  4. data/lib/brcobranca/arquivos/templates/modelo_generico2.eps +9967 -0
  5. data/lib/brcobranca/boleto/banco_brasil.rb +5 -1
  6. data/lib/brcobranca/boleto/base.rb +2 -0
  7. data/lib/brcobranca/boleto/template/base.rb +4 -0
  8. data/lib/brcobranca/boleto/template/rghost2.rb +255 -0
  9. data/lib/brcobranca/boleto/template/rghost_bolepix.rb +279 -0
  10. data/lib/brcobranca/remessa/pagamento.rb +13 -11
  11. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +3 -0
  12. data/lib/brcobranca/retorno/cnab400/base.rb +1 -1
  13. data/lib/brcobranca/version.rb +1 -1
  14. data/lib/brcobranca.rb +2 -0
  15. metadata +8 -139
  16. data/spec/brcobranca/base_spec.rb +0 -179
  17. data/spec/brcobranca/boleto/ailos_spec.rb +0 -148
  18. data/spec/brcobranca/boleto/banco_brasil_spec.rb +0 -336
  19. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +0 -153
  20. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +0 -160
  21. data/spec/brcobranca/boleto/banestes_spec.rb +0 -193
  22. data/spec/brcobranca/boleto/banrisul_spec.rb +0 -180
  23. data/spec/brcobranca/boleto/bradesco_spec.rb +0 -214
  24. data/spec/brcobranca/boleto/caixa_spec.rb +0 -160
  25. data/spec/brcobranca/boleto/citibank_spec.rb +0 -195
  26. data/spec/brcobranca/boleto/credisis_spec.rb +0 -160
  27. data/spec/brcobranca/boleto/hsbc_spec.rb +0 -171
  28. data/spec/brcobranca/boleto/itau_spec.rb +0 -261
  29. data/spec/brcobranca/boleto/safra_spec.rb +0 -171
  30. data/spec/brcobranca/boleto/santander_spec.rb +0 -142
  31. data/spec/brcobranca/boleto/sicoob_spec.rb +0 -192
  32. data/spec/brcobranca/boleto/sicredi_spec.rb +0 -194
  33. data/spec/brcobranca/boleto/unicred_spec.rb +0 -139
  34. data/spec/brcobranca/boletos_em_lote_spec.rb +0 -38
  35. data/spec/brcobranca/calculo_data_spec.rb +0 -33
  36. data/spec/brcobranca/calculo_spec.rb +0 -187
  37. data/spec/brcobranca/currency_spec.rb +0 -79
  38. data/spec/brcobranca/formatacao_spec.rb +0 -46
  39. data/spec/brcobranca/formatacao_string_spec.rb +0 -31
  40. data/spec/brcobranca/limpeza_spec.rb +0 -10
  41. data/spec/brcobranca/remessa/base_spec.rb +0 -66
  42. data/spec/brcobranca/remessa/cnab240/ailos_spec.rb +0 -165
  43. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +0 -222
  44. data/spec/brcobranca/remessa/cnab240/base_spec.rb +0 -114
  45. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +0 -165
  46. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +0 -272
  47. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +0 -200
  48. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +0 -203
  49. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +0 -195
  50. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +0 -190
  51. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +0 -188
  52. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +0 -192
  53. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +0 -192
  54. data/spec/brcobranca/remessa/cnab400/base_spec.rb +0 -68
  55. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +0 -203
  56. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +0 -128
  57. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +0 -190
  58. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +0 -192
  59. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +0 -154
  60. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +0 -217
  61. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +0 -186
  62. data/spec/brcobranca/remessa/pagamento_spec.rb +0 -228
  63. data/spec/brcobranca/retorno/cnab240/base_spec.rb +0 -24
  64. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +0 -52
  65. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +0 -52
  66. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +0 -52
  67. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +0 -33
  68. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +0 -37
  69. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +0 -40
  70. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +0 -42
  71. data/spec/brcobranca/retorno/cnab400/base_spec.rb +0 -57
  72. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +0 -59
  73. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +0 -26
  74. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +0 -60
  75. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +0 -40
  76. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +0 -38
  77. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +0 -69
  78. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +0 -58
  79. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +0 -53
  80. data/spec/brcobranca/rghost_spec.rb +0 -29
  81. data/spec/brcobranca/util/empresa_spec.rb +0 -35
  82. data/spec/brcobranca_spec.rb +0 -33
@@ -1,261 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Itau do
6
- before do
7
- @valid_attributes = {
8
- valor: 0.0,
9
- cedente: 'Kivanio Barbosa',
10
- documento_cedente: '12345678912',
11
- sacado: 'Claudio Pozzebom',
12
- sacado_documento: '12345678900',
13
- agencia: '0810',
14
- conta_corrente: '53678',
15
- convenio: 12_387,
16
- nosso_numero: '12345678'
17
- }
18
- end
19
-
20
- it 'Criar nova instancia com atributos padrões' do
21
- boleto_novo = described_class.new
22
- expect(boleto_novo.banco).to eql('341')
23
- expect(boleto_novo.especie_documento).to eql('DM')
24
- expect(boleto_novo.especie).to eql('R$')
25
- expect(boleto_novo.moeda).to eql('9')
26
- expect(boleto_novo.data_processamento).to eql(Date.current)
27
- expect(boleto_novo.data_vencimento).to eql(Date.current)
28
- expect(boleto_novo.aceite).to eql('S')
29
- expect(boleto_novo.quantidade).to be(1)
30
- expect(boleto_novo.valor).to eq(0.0)
31
- expect(boleto_novo.valor_documento).to eq(0.0)
32
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
33
- expect(boleto_novo.carteira).to eql('175')
34
- end
35
-
36
- it 'Criar nova instancia com atributos válidos' do
37
- boleto_novo = described_class.new(@valid_attributes)
38
- expect(boleto_novo.banco).to eql('341')
39
- expect(boleto_novo.especie_documento).to eql('DM')
40
- expect(boleto_novo.especie).to eql('R$')
41
- expect(boleto_novo.moeda).to eql('9')
42
- expect(boleto_novo.data_processamento).to eql(Date.current)
43
- expect(boleto_novo.data_vencimento).to eql(Date.current)
44
- expect(boleto_novo.aceite).to eql('S')
45
- expect(boleto_novo.quantidade).to be(1)
46
- expect(boleto_novo.valor).to eq(0.0)
47
- expect(boleto_novo.valor_documento).to eq(0.0)
48
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
49
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
50
- expect(boleto_novo.documento_cedente).to eql('12345678912')
51
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
52
- expect(boleto_novo.sacado_documento).to eql('12345678900')
53
- expect(boleto_novo.conta_corrente).to eql('53678')
54
- expect(boleto_novo.agencia).to eql('0810')
55
- expect(boleto_novo.convenio).to eql('12387')
56
- expect(boleto_novo.nosso_numero).to eql('12345678')
57
- expect(boleto_novo.carteira).to eql('175')
58
- end
59
-
60
- it '#usa_seu_numero?' do
61
- @valid_attributes[:carteira] = 198
62
- boleto_novo = described_class.new(@valid_attributes)
63
- expect(boleto_novo).to be_usa_seu_numero
64
-
65
- @valid_attributes[:carteira] = 109
66
- boleto_novo = described_class.new(@valid_attributes)
67
- expect(boleto_novo).not_to be_usa_seu_numero
68
- end
69
-
70
- it 'Gerar boleto' do
71
- @valid_attributes[:data_vencimento] = Date.parse('2009/08/14')
72
- boleto_novo = described_class.new(@valid_attributes)
73
-
74
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1751234567840810536789000')
75
- expect(boleto_novo.codigo_barras).to eql('34191432900000000001751234567840810536789000')
76
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.75124 34567.840813 05367.890000 1 43290000000000')
77
-
78
- @valid_attributes[:valor] = 135.00
79
- @valid_attributes[:nosso_numero] = '258281'
80
- @valid_attributes[:data_vencimento] = Date.parse('2008/02/02')
81
- boleto_novo = described_class.new(@valid_attributes)
82
-
83
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1750025828170810536789000')
84
- expect(boleto_novo.codigo_barras).to eql('34191377000000135001750025828170810536789000')
85
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.75009 25828.170818 05367.890000 1 37700000013500')
86
-
87
- @valid_attributes[:nosso_numero] = '258281'
88
- @valid_attributes[:data_vencimento] = Date.parse('2004/09/05')
89
- @valid_attributes[:carteira] = 168
90
- @valid_attributes[:valor] = 135.00
91
- boleto_novo = described_class.new(@valid_attributes)
92
-
93
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1680025828120810536789000')
94
- expect(boleto_novo.codigo_barras).to eql('34194252500000135001680025828120810536789000')
95
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.68004 25828.120813 05367.890000 4 25250000013500')
96
-
97
- @valid_attributes[:nosso_numero] = '258281'
98
- @valid_attributes[:data_vencimento] = Date.parse('2004/09/05')
99
- @valid_attributes[:carteira] = 196
100
- @valid_attributes[:valor] = 135.00
101
- @valid_attributes[:convenio] = '12345'
102
- @valid_attributes[:seu_numero] = '1234567'
103
- boleto_novo = described_class.new(@valid_attributes)
104
-
105
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1960025828112345671234550')
106
- expect(boleto_novo.codigo_barras).to eql('34191252500000135001960025828112345671234550')
107
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.96005 25828.112349 56712.345505 1 25250000013500')
108
-
109
- @valid_attributes[:nosso_numero] = '258281'
110
- @valid_attributes[:data_vencimento] = Date.parse('2004/09/05')
111
- @valid_attributes[:carteira] = 196
112
- @valid_attributes[:valor] = 135.00
113
- @valid_attributes[:convenio] = '12345'
114
- @valid_attributes[:seu_numero] = '123456'
115
- boleto_novo = described_class.new(@valid_attributes)
116
-
117
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1960025828101234561234550')
118
- expect(boleto_novo.codigo_barras).to eql('34192252500000135001960025828101234561234550')
119
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.96005 25828.101235 45612.345509 2 25250000013500')
120
-
121
- @valid_attributes[:nosso_numero] = '258281'
122
- @valid_attributes[:data_vencimento] = Date.parse('2004/09/05')
123
- @valid_attributes[:carteira] = 196
124
- @valid_attributes[:valor] = 135.00
125
- @valid_attributes[:convenio] = '1234'
126
- @valid_attributes[:seu_numero] = '123456'
127
- boleto_novo = described_class.new(@valid_attributes)
128
-
129
- expect(boleto_novo.send(:codigo_barras_primeira_parte)).to eql('341925250000013500')
130
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1960025828101234560123440')
131
- expect(boleto_novo.codigo_barras).to eql('34192252500000135001960025828101234560123440')
132
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.96005 25828.101235 45601.234409 2 25250000013500')
133
-
134
- @valid_attributes[:nosso_numero] = '00010152'
135
- @valid_attributes[:data_vencimento] = Date.parse('2029/05/20')
136
- @valid_attributes[:carteira] = 109
137
- @valid_attributes[:valor] = 6757.87
138
- @valid_attributes[:seu_numero] = '00010152'
139
- @valid_attributes[:agencia] = '1248'
140
- @valid_attributes[:conta_corrente] = '02124'
141
- boleto_novo = described_class.new(@valid_attributes)
142
-
143
- expect(boleto_novo.send(:codigo_barras_primeira_parte)).to eql('341925480000675787')
144
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1090001015271248021246000')
145
- expect(boleto_novo.codigo_barras).to eql('34194254800006757871090001015271248021246000')
146
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('34191.09008 01015.271248 80212.460002 4 25480000675787')
147
- end
148
-
149
- it 'Não permitir gerar boleto com atributos inválido' do
150
- boleto_novo = described_class.new
151
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
152
- expect(boleto_novo.errors.count).to be(5)
153
- end
154
-
155
- it 'Montar agencia_conta_corrente_dv' do
156
- @valid_attributes[:conta_corrente] = '15255'
157
- @valid_attributes[:agencia] = '0607'
158
- boleto_novo = described_class.new(@valid_attributes)
159
-
160
- expect(boleto_novo.agencia_conta_corrente_dv).to be(0)
161
- expect(boleto_novo.agencia_conta_boleto).to eql('0607 / 15255-0')
162
-
163
- @valid_attributes[:conta_corrente] = '85547'
164
- @valid_attributes[:agencia] = '1547'
165
- boleto_novo = described_class.new(@valid_attributes)
166
-
167
- expect(boleto_novo.agencia_conta_corrente_dv).to be(6)
168
- expect(boleto_novo.agencia_conta_boleto).to eql('1547 / 85547-6')
169
-
170
- @valid_attributes[:conta_corrente] = '10207'
171
- @valid_attributes[:agencia] = '1547'
172
- boleto_novo = described_class.new(@valid_attributes)
173
-
174
- expect(boleto_novo.agencia_conta_corrente_dv).to be(7)
175
-
176
- @valid_attributes[:conta_corrente] = '53678'
177
- @valid_attributes[:agencia] = '0811'
178
- boleto_novo = described_class.new(@valid_attributes)
179
-
180
- expect(boleto_novo.agencia_conta_corrente_dv).to be(8)
181
- expect(boleto_novo.agencia_conta_boleto).to eql('0811 / 53678-8')
182
- end
183
-
184
- it 'Montar nosso_numero_boleto' do
185
- @valid_attributes[:conta_corrente] = '15255'
186
- @valid_attributes[:agencia] = '0607'
187
- boleto_novo = described_class.new(@valid_attributes)
188
-
189
- expect(boleto_novo.nosso_numero_boleto).to eql('175/12345678-4')
190
-
191
- @valid_attributes[:conta_corrente] = '15255'
192
- @valid_attributes[:agencia] = '0607'
193
- @valid_attributes[:carteira] = '143'
194
- boleto_novo = described_class.new(@valid_attributes)
195
-
196
- expect(boleto_novo.nosso_numero_boleto).to eql('143/12345678-2')
197
- end
198
-
199
- it 'Montar nosso_numero_dv' do
200
- @valid_attributes[:nosso_numero] = '00015448'
201
- boleto_novo = described_class.new(@valid_attributes)
202
-
203
- expect(boleto_novo.nosso_numero_dv).to be(6)
204
-
205
- @valid_attributes[:nosso_numero] = '15448'
206
- boleto_novo = described_class.new(@valid_attributes)
207
-
208
- expect(boleto_novo.nosso_numero_dv).to be(6)
209
-
210
- @valid_attributes[:nosso_numero] = '12345678'
211
- boleto_novo = described_class.new(@valid_attributes)
212
-
213
- expect(boleto_novo.nosso_numero_dv).to be(4)
214
-
215
- @valid_attributes[:nosso_numero] = '34230'
216
- boleto_novo = described_class.new(@valid_attributes)
217
-
218
- expect(boleto_novo.nosso_numero_dv).to be(5)
219
-
220
- @valid_attributes[:nosso_numero] = '258281'
221
- boleto_novo = described_class.new(@valid_attributes)
222
-
223
- expect(boleto_novo.nosso_numero_dv).to be(7)
224
- end
225
-
226
- describe 'Busca logotipo do banco' do
227
- it_behaves_like 'busca_logotipo'
228
- end
229
-
230
- it 'Gerar boleto nos formatos válidos com método to_' do
231
- @valid_attributes[:data_documento] = Date.parse('2009/08/13')
232
- boleto_novo = described_class.new(@valid_attributes)
233
-
234
- %w[pdf jpg tif png].each do |format|
235
- file_body = boleto_novo.send("to_#{format}".to_sym)
236
- tmp_file = Tempfile.new(['foobar.', format])
237
- tmp_file.puts file_body
238
- tmp_file.close
239
- expect(File).to exist(tmp_file.path)
240
- expect(File.stat(tmp_file.path)).not_to be_zero
241
- expect(File.delete(tmp_file.path)).to be(1)
242
- expect(File).not_to exist(tmp_file.path)
243
- end
244
- end
245
-
246
- it 'Gerar boleto nos formatos válidos' do
247
- @valid_attributes[:data_documento] = Date.parse('2009/08/13')
248
- boleto_novo = described_class.new(@valid_attributes)
249
-
250
- %w[pdf jpg tif png].each do |format|
251
- file_body = boleto_novo.to(format)
252
- tmp_file = Tempfile.new(['foobar.', format])
253
- tmp_file.puts file_body
254
- tmp_file.close
255
- expect(File).to exist(tmp_file.path)
256
- expect(File.stat(tmp_file.path)).not_to be_zero
257
- expect(File.delete(tmp_file.path)).to be(1)
258
- expect(File).not_to exist(tmp_file.path)
259
- end
260
- end
261
- end
@@ -1,171 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Safra do
6
- let(:valid_attributes) do
7
- {
8
- valor: 0.0,
9
- local_pagamento: 'Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso',
10
- cedente: 'Kivanio Barbosa',
11
- documento_cedente: '12345678912',
12
- sacado: 'Claudio Pozzebom',
13
- sacado_documento: '12345678900',
14
- agencia: '4042',
15
- agencia_dv: '8',
16
- conta_corrente: '61900',
17
- conta_corrente_dv: '7',
18
- convenio: 12_387_989,
19
- nosso_numero: '77700168'
20
- }
21
- end
22
-
23
- it 'Criar nova instancia com atributos padrões' do
24
- boleto_novo = described_class.new
25
- expect(boleto_novo.banco).to eql('422')
26
- expect(boleto_novo.especie_documento).to eql('DM')
27
- expect(boleto_novo.especie).to eql('R$')
28
- expect(boleto_novo.moeda).to eql('9')
29
- expect(boleto_novo.data_processamento).to eql(Date.current)
30
- expect(boleto_novo.data_vencimento).to eql(Date.current)
31
- expect(boleto_novo.aceite).to eql('S')
32
- expect(boleto_novo.quantidade).to eq(1)
33
- expect(boleto_novo.valor).to eq(0.0)
34
- expect(boleto_novo.valor_documento).to eq(0.0)
35
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
36
- end
37
-
38
- it 'Criar nova instancia com atributos válidos' do
39
- boleto_novo = described_class.new(valid_attributes)
40
- expect(boleto_novo.banco).to eql('422')
41
- expect(boleto_novo.especie_documento).to eql('DM')
42
- expect(boleto_novo.especie).to eql('R$')
43
- expect(boleto_novo.moeda).to eql('9')
44
- expect(boleto_novo.data_processamento).to eql(Date.current)
45
- expect(boleto_novo.data_vencimento).to eql(Date.current)
46
- expect(boleto_novo.aceite).to eql('S')
47
- expect(boleto_novo.quantidade).to eq(1)
48
- expect(boleto_novo.valor).to eq(0.0)
49
- expect(boleto_novo.valor_documento).to eq(0.0)
50
- expect(boleto_novo.local_pagamento).to eql('Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
51
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
52
- expect(boleto_novo.documento_cedente).to eql('12345678912')
53
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
54
- expect(boleto_novo.sacado_documento).to eql('12345678900')
55
- expect(boleto_novo.conta_corrente).to eql('00061900')
56
- expect(boleto_novo.conta_corrente_dv).to eql('7')
57
- expect(boleto_novo.agencia).to eql('4042')
58
- expect(boleto_novo.agencia_dv).to eql('8')
59
- expect(boleto_novo.convenio).to eq(12_387_989)
60
- expect(boleto_novo.nosso_numero).to eql('77700168')
61
- end
62
-
63
- it 'Montar código de barras' do
64
- valid_attributes[:valor] = 180.84
65
- valid_attributes[:data_documento] = Date.parse('2025-02-23')
66
- valid_attributes[:data_vencimento] = Date.parse('2025-02-23')
67
- valid_attributes[:nosso_numero] = '26173001'
68
- valid_attributes[:conta_corrente] = '00027824'
69
- valid_attributes[:conta_corrente_dv] = '7'
70
- valid_attributes[:agencia] = '0040'
71
- valid_attributes[:agencia_dv] = '0'
72
- boleto_novo = described_class.new(valid_attributes)
73
-
74
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('7004000002782472617300112')
75
- expect(boleto_novo.codigo_barras).to eql('42296100100000180847004000002782472617300112')
76
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('42297.00408 00002.782472 26173.001129 6 10010000018084')
77
-
78
- valid_attributes[:valor] = 5543.05
79
- valid_attributes[:data_documento] = Date.parse('2016-03-30')
80
- valid_attributes[:data_vencimento] = Date.parse('2016-03-30')
81
- valid_attributes[:nosso_numero] = '50153004'
82
- valid_attributes[:conta_corrente] = '00627672'
83
- valid_attributes[:conta_corrente_dv] = '9'
84
- valid_attributes[:agencia] = '1150'
85
- valid_attributes[:agencia_dv] = '0'
86
- boleto_novo = described_class.new(valid_attributes)
87
-
88
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('7115000062767295015300452')
89
- expect(boleto_novo.codigo_barras).to eql('42291674900005543057115000062767295015300452')
90
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('42297.11504 00062.767298 50153.004523 1 67490000554305')
91
- end
92
-
93
- it 'Não permitir gerar boleto com atributos inválido' do
94
- boleto_novo = described_class.new
95
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
96
- expect(boleto_novo.errors.count).to eq(9)
97
- end
98
-
99
- it 'Montar nosso_numero_boleto' do
100
- boleto_novo = described_class.new(valid_attributes)
101
-
102
- boleto_novo.nosso_numero = '94550200'
103
- expect(boleto_novo.nosso_numero_boleto).to eql('94550200-1')
104
- expect(boleto_novo.nosso_numero_dv).to eq(1)
105
-
106
- boleto_novo.nosso_numero = '93199999'
107
- expect(boleto_novo.nosso_numero_boleto).to eql('93199999-5')
108
- expect(boleto_novo.nosso_numero_dv).to eq(5)
109
-
110
- boleto_novo.nosso_numero = '26173001'
111
- expect(boleto_novo.nosso_numero_boleto).to eql('26173001-1')
112
- expect(boleto_novo.nosso_numero_dv).to eq(1)
113
- end
114
-
115
- it 'Montar agencia_conta_boleto' do
116
- boleto_novo = described_class.new(valid_attributes)
117
-
118
- expect(boleto_novo.agencia_conta_boleto).to eql('40428 / 000619007')
119
- boleto_novo.agencia = '0719'
120
- expect(boleto_novo.agencia_conta_boleto).to eql('07198 / 000619007')
121
- boleto_novo.agencia = '0548'
122
- boleto_novo.conta_corrente = '1448'
123
- expect(boleto_novo.agencia_conta_boleto).to eql('05488 / 000014487')
124
- end
125
-
126
- describe 'Busca logotipo do banco' do
127
- it_behaves_like 'busca_logotipo'
128
- end
129
-
130
- it 'Gerar boleto nos formatos válidos com método to_' do
131
- valid_attributes[:valor] = 2952.95
132
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
133
- valid_attributes[:data_vencimento] = Date.parse('2009-04-30')
134
- valid_attributes[:nosso_numero] = '75896452'
135
- valid_attributes[:conta_corrente] = '0403005'
136
- valid_attributes[:agencia] = '1172'
137
- boleto_novo = described_class.new(valid_attributes)
138
-
139
- %w[pdf jpg tif png].each do |format|
140
- file_body = boleto_novo.send("to_#{format}".to_sym)
141
- tmp_file = Tempfile.new(['foobar.', format])
142
- tmp_file.puts file_body
143
- tmp_file.close
144
- expect(File).to exist(tmp_file.path)
145
- expect(File.stat(tmp_file.path)).not_to be_zero
146
- expect(File.delete(tmp_file.path)).to eq(1)
147
- expect(File).not_to exist(tmp_file.path)
148
- end
149
- end
150
-
151
- it 'Gerar boleto nos formatos válidos' do
152
- valid_attributes[:valor] = 2952.95
153
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
154
- valid_attributes[:data_vencimento] = Date.parse('2009-04-30')
155
- valid_attributes[:nosso_numero] = '75896452'
156
- valid_attributes[:conta_corrente] = '0403005'
157
- valid_attributes[:agencia] = '1172'
158
- boleto_novo = described_class.new(valid_attributes)
159
-
160
- %w[pdf jpg tif png].each do |format|
161
- file_body = boleto_novo.to(format)
162
- tmp_file = Tempfile.new(['foobar.', format])
163
- tmp_file.puts file_body
164
- tmp_file.close
165
- expect(File).to exist(tmp_file.path)
166
- expect(File.stat(tmp_file.path)).not_to be_zero
167
- expect(File.delete(tmp_file.path)).to eq(1)
168
- expect(File).not_to exist(tmp_file.path)
169
- end
170
- end
171
- end
@@ -1,142 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Santander do
6
- before do
7
- @valid_attributes = {
8
- valor: 25.0,
9
- cedente: 'Kivanio Barbosa',
10
- documento_cedente: '12345678912',
11
- sacado: 'Claudio Pozzebom',
12
- sacado_documento: '12345678900',
13
- agencia: '0059',
14
- convenio: 1_899_775,
15
- nosso_numero: '9000026',
16
- conta_corrente: '013000123'
17
- }
18
- end
19
-
20
- it 'Criar nova instancia com atributos padrões' do
21
- boleto_novo = described_class.new
22
- expect(boleto_novo.banco).to eql('033')
23
- expect(boleto_novo.especie_documento).to eql('DM')
24
- expect(boleto_novo.especie).to eql('R$')
25
- expect(boleto_novo.moeda).to eql('9')
26
- expect(boleto_novo.data_processamento).to eql(Date.current)
27
- expect(boleto_novo.data_vencimento).to eql(Date.current)
28
- expect(boleto_novo.aceite).to eql('S')
29
- expect(boleto_novo.quantidade).to be(1)
30
- expect(boleto_novo.valor).to eq(0.0)
31
- expect(boleto_novo.valor_documento).to eq(0.0)
32
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
33
- expect(boleto_novo.carteira).to eql('102')
34
- end
35
-
36
- it 'Criar nova instancia com atributos válidos' do
37
- boleto_novo = described_class.new(@valid_attributes)
38
- expect(boleto_novo.banco).to eql('033')
39
- expect(boleto_novo.especie_documento).to eql('DM')
40
- expect(boleto_novo.especie).to eql('R$')
41
- expect(boleto_novo.moeda).to eql('9')
42
- expect(boleto_novo.data_processamento).to eql(Date.current)
43
- expect(boleto_novo.data_vencimento).to eql(Date.current)
44
- expect(boleto_novo.aceite).to eql('S')
45
- expect(boleto_novo.quantidade).to be(1)
46
- expect(boleto_novo.valor).to eq(25.0)
47
- expect(boleto_novo.valor_documento).to eq(25.0)
48
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
49
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
50
- expect(boleto_novo.documento_cedente).to eql('12345678912')
51
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
52
- expect(boleto_novo.sacado_documento).to eql('12345678900')
53
- expect(boleto_novo.agencia).to eql('0059')
54
- expect(boleto_novo.convenio).to eql('1899775')
55
- expect(boleto_novo.nosso_numero).to eql('9000026')
56
- expect(boleto_novo.carteira).to eql('102')
57
- end
58
-
59
- it 'Gerar boleto' do
60
- @valid_attributes[:data_vencimento] = Date.parse('2011/10/09')
61
- boleto_novo = described_class.new(@valid_attributes)
62
- expect(boleto_novo.codigo_barras_segunda_parte.size).to eq(25)
63
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('9189977500000900002690102')
64
- expect(boleto_novo.codigo_barras).to eql('03399511500000025009189977500000900002690102')
65
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('03399.18997 77500.000904 00026.901025 9 51150000002500')
66
-
67
- @valid_attributes[:valor] = 54.00
68
- @valid_attributes[:nosso_numero] = '9000272'
69
- @valid_attributes[:data_vencimento] = Date.parse('2012/09/08')
70
- boleto_novo = described_class.new(@valid_attributes)
71
- expect(boleto_novo.codigo_barras_segunda_parte.size).to eq(25)
72
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('9189977500000900027250102')
73
- expect(boleto_novo.codigo_barras).to eql('03393545000000054009189977500000900027250102')
74
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('03399.18997 77500.000904 00272.501024 3 54500000005400')
75
- end
76
-
77
- it 'Não permitir gerar boleto com atributos inválido' do
78
- boleto_novo = described_class.new
79
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
80
- expect(boleto_novo.errors.count).to be(6)
81
- end
82
-
83
- it 'Montar nosso_numero_dv' do
84
- @valid_attributes[:nosso_numero] = '566612457800'
85
- boleto_novo = described_class.new(@valid_attributes)
86
- expect(boleto_novo.nosso_numero_dv).to be(2)
87
-
88
- @valid_attributes[:nosso_numero] = '90002720'
89
- boleto_novo = described_class.new(@valid_attributes)
90
- expect(boleto_novo.nosso_numero_dv).to be(7)
91
-
92
- @valid_attributes[:nosso_numero] = '1961005'
93
- boleto_novo = described_class.new(@valid_attributes)
94
- expect(boleto_novo.nosso_numero_dv).to be(0)
95
- end
96
-
97
- it 'Montar nosso_numero_boleto' do
98
- @valid_attributes[:nosso_numero] = '566612457800'
99
- boleto_novo = described_class.new(@valid_attributes)
100
- expect(boleto_novo.nosso_numero_boleto).to eql('566612457800-2')
101
-
102
- @valid_attributes[:nosso_numero] = '90002720'
103
- boleto_novo = described_class.new(@valid_attributes)
104
- expect(boleto_novo.nosso_numero_boleto).to eql('90002720-7')
105
- end
106
-
107
- describe 'Busca logotipo do banco' do
108
- it_behaves_like 'busca_logotipo'
109
- end
110
-
111
- it 'Gerar boleto nos formatos válidos com método to_' do
112
- @valid_attributes[:data_documento] = Date.parse('2009/08/13')
113
- boleto_novo = described_class.new(@valid_attributes)
114
-
115
- %w[pdf jpg tif png].each do |format|
116
- file_body = boleto_novo.send("to_#{format}".to_sym)
117
- tmp_file = Tempfile.new(['foobar.', format])
118
- tmp_file.puts file_body
119
- tmp_file.close
120
- expect(File).to exist(tmp_file.path)
121
- expect(File.stat(tmp_file.path)).not_to be_zero
122
- expect(File.delete(tmp_file.path)).to be(1)
123
- expect(File).not_to exist(tmp_file.path)
124
- end
125
- end
126
-
127
- it 'Gerar boleto nos formatos válidos' do
128
- @valid_attributes[:data_documento] = Date.parse('2009/08/13')
129
- boleto_novo = described_class.new(@valid_attributes)
130
-
131
- %w[pdf jpg tif png].each do |format|
132
- file_body = boleto_novo.to(format)
133
- tmp_file = Tempfile.new(['foobar.', format])
134
- tmp_file.puts file_body
135
- tmp_file.close
136
- expect(File).to exist(tmp_file.path)
137
- expect(File.stat(tmp_file.path)).not_to be_zero
138
- expect(File.delete(tmp_file.path)).to be(1)
139
- expect(File).not_to exist(tmp_file.path)
140
- end
141
- end
142
- end