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,193 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Banestes do # :nodoc:[all]
6
- let(:valid_attributes) do
7
- {
8
- data_vencimento: Date.parse('2015-06-26'),
9
- valor: 1278.90,
10
- cedente: 'Kivanio Barbosa',
11
- documento_cedente: '12345678912',
12
- sacado: 'Claudio Pozzebom',
13
- sacado_documento: '12345678900',
14
- agencia: '274',
15
- conta_corrente: '1454204',
16
- digito_conta_corrente: '7',
17
- nosso_numero: '69240101'
18
- }
19
- end
20
-
21
- it 'Criar nova instancia com atributos padrões' do
22
- boleto_novo = described_class.new
23
-
24
- expect(boleto_novo.banco).to eql('021')
25
- expect(boleto_novo.especie_documento).to eql('DM')
26
- expect(boleto_novo.especie).to eql('R$')
27
- expect(boleto_novo.moeda).to eql('9')
28
- expect(boleto_novo.data_vencimento).to eql(Date.current)
29
- expect(boleto_novo.aceite).to eql('S')
30
- expect(boleto_novo.quantidade).to be(1)
31
- expect(boleto_novo.valor).to eq(0.0)
32
- expect(boleto_novo.valor_documento).to eq(0.0)
33
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
34
- expect(boleto_novo.carteira).to eql('11')
35
- end
36
-
37
- it 'Criar nova instancia com atributos válidos' do
38
- boleto_novo = described_class.new(valid_attributes)
39
- expect(boleto_novo.banco).to eql('021')
40
- expect(boleto_novo.especie_documento).to eql('DM')
41
- expect(boleto_novo.especie).to eql('R$')
42
- expect(boleto_novo.moeda).to eql('9')
43
- expect(boleto_novo.data_processamento).to eql(Date.current)
44
- expect(boleto_novo.data_vencimento).to eql(Date.parse('2015-06-26'))
45
- expect(boleto_novo.aceite).to eql('S')
46
- expect(boleto_novo.quantidade).to be(1)
47
- expect(boleto_novo.valor).to eq(1278.9)
48
- expect(boleto_novo.valor_documento).to eq(1278.9)
49
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
50
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
51
- expect(boleto_novo.documento_cedente).to eql('12345678912')
52
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
53
- expect(boleto_novo.sacado_documento).to eql('12345678900')
54
- expect(boleto_novo.conta_corrente).to eql('0001454204')
55
- expect(boleto_novo.digito_conta_corrente).to eql('7')
56
- expect(boleto_novo.agencia).to eql('0274')
57
- expect(boleto_novo.nosso_numero).to eql('69240101')
58
- expect(boleto_novo.nosso_numero_boleto).to eql('69240101-68')
59
- expect(boleto_novo.carteira).to eql('11')
60
- expect(boleto_novo.codigo_barras).to eql('02199647100001278906924010100014542047202193')
61
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('02196.92407 10100.014546 20472.021938 9 64710000127890')
62
- end
63
-
64
- it 'Não permitir gerar boleto com atributos inválido' do
65
- boleto_novo = described_class.new
66
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
67
- expect(boleto_novo.errors.count).to be(6)
68
- end
69
-
70
- it 'Montar nosso_numero_boleto' do
71
- valid_attributes[:nosso_numero] = '00000040'
72
- boleto_novo = described_class.new(valid_attributes)
73
- expect(boleto_novo.nosso_numero_boleto).to eql('00000040-06')
74
-
75
- valid_attributes[:nosso_numero] = '00000068'
76
- boleto_novo = described_class.new(valid_attributes)
77
- expect(boleto_novo.nosso_numero_boleto).to eql('00000068-07')
78
-
79
- valid_attributes[:nosso_numero] = '00000006'
80
- boleto_novo = described_class.new(valid_attributes)
81
- expect(boleto_novo.nosso_numero_boleto).to eql('00000006-04')
82
-
83
- valid_attributes[:nosso_numero] = '00000281'
84
- boleto_novo = described_class.new(valid_attributes)
85
- expect(boleto_novo.nosso_numero_boleto).to eql('00000281-00')
86
-
87
- valid_attributes[:nosso_numero] = '00000023'
88
- boleto_novo = described_class.new(valid_attributes)
89
- expect(boleto_novo.nosso_numero_boleto).to eql('00000023-05')
90
-
91
- valid_attributes[:nosso_numero] = '00000337'
92
- boleto_novo = described_class.new(valid_attributes)
93
- expect(boleto_novo.nosso_numero_boleto).to eql('00000337-90')
94
-
95
- valid_attributes[:nosso_numero] = '96656701'
96
- boleto_novo = described_class.new(valid_attributes)
97
- expect(boleto_novo.nosso_numero_boleto).to eql('96656701-37')
98
-
99
- valid_attributes[:nosso_numero] = '00000484'
100
- boleto_novo = described_class.new(valid_attributes)
101
- expect(boleto_novo.nosso_numero_boleto).to eql('00000484-70')
102
-
103
- valid_attributes[:nosso_numero] = '514'
104
- boleto_novo = described_class.new(valid_attributes)
105
- expect(boleto_novo.nosso_numero_boleto).to eql('00000514-20')
106
-
107
- valid_attributes[:nosso_numero] = '565'
108
- boleto_novo = described_class.new(valid_attributes)
109
- expect(boleto_novo.nosso_numero_boleto).to eql('00000565-70')
110
-
111
- valid_attributes[:nosso_numero] = '573'
112
- boleto_novo = described_class.new(valid_attributes)
113
- expect(boleto_novo.nosso_numero_boleto).to eql('00000573-80')
114
-
115
- valid_attributes[:nosso_numero] = '00000603'
116
- boleto_novo = described_class.new(valid_attributes)
117
- expect(boleto_novo.nosso_numero_boleto).to eql('00000603-30')
118
- end
119
-
120
- it 'Montar codio de barras' do
121
- valid_attributes[:nosso_numero] = '00000032'
122
- valid_attributes[:data_vencimento] = Date.parse('2016-12-26')
123
- valid_attributes[:valor] = 80.0
124
- valid_attributes[:agencia] = '274'
125
- valid_attributes[:conta_corrente] = '2720129'
126
- valid_attributes[:digito_conta_corrente] = '2'
127
- valid_attributes[:carteira] = '11'
128
- valid_attributes[:variacao] = '4'
129
- boleto_novo = described_class.new(valid_attributes)
130
- expect(boleto_novo.codigo_barras).to eql('02191702000000080000000003200027201292402179')
131
-
132
- valid_attributes[:nosso_numero] = '00000033'
133
- valid_attributes[:data_vencimento] = Date.parse('2016-12-16')
134
- valid_attributes[:valor] = 99.99
135
- valid_attributes[:agencia] = '274'
136
- valid_attributes[:conta_corrente] = '2720129'
137
- valid_attributes[:digito_conta_corrente] = '2'
138
- valid_attributes[:carteira] = '11'
139
- valid_attributes[:variacao] = '4'
140
- boleto_novo = described_class.new(valid_attributes)
141
- expect(boleto_novo.codigo_barras).to eql('02199701000000099990000003300027201292402165')
142
- end
143
-
144
- it 'Montar agencia_conta_boleto' do
145
- boleto_novo = described_class.new(valid_attributes)
146
-
147
- expect(boleto_novo.agencia_conta_boleto).to eql('274 / 14542047')
148
- end
149
-
150
- describe 'Busca logotipo do banco' do
151
- it_behaves_like 'busca_logotipo'
152
- end
153
-
154
- it 'Gerar boleto nos formatos válidos com método to_' do
155
- valid_attributes[:valor] = 135.00
156
- valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
157
- valid_attributes[:nosso_numero] = '240'
158
-
159
- boleto_novo = described_class.new(valid_attributes)
160
-
161
- %w[pdf jpg tif png].each do |format|
162
- file_body = boleto_novo.send("to_#{format}".to_sym)
163
- tmp_file = Tempfile.new(['foobar.', format])
164
- tmp_file.puts file_body
165
- tmp_file.close
166
-
167
- expect(File).to exist(tmp_file.path)
168
- expect(File.stat(tmp_file.path)).not_to be_zero
169
- expect(File.delete(tmp_file.path)).to be(1)
170
- expect(File).not_to exist(tmp_file.path)
171
- end
172
- end
173
-
174
- it 'Gerar boleto nos formatos válidos' do
175
- valid_attributes[:valor] = 135.00
176
- valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
177
- valid_attributes[:nosso_numero] = '240'
178
-
179
- boleto_novo = described_class.new(valid_attributes)
180
-
181
- %w[pdf jpg tif png].each do |format|
182
- file_body = boleto_novo.to(format)
183
- tmp_file = Tempfile.new(['foobar.', format])
184
- tmp_file.puts file_body
185
- tmp_file.close
186
-
187
- expect(File).to exist(tmp_file.path)
188
- expect(File.stat(tmp_file.path)).not_to be_zero
189
- expect(File.delete(tmp_file.path)).to be(1)
190
- expect(File).not_to exist(tmp_file.path)
191
- end
192
- end
193
- end
@@ -1,180 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Banrisul do # :nodoc:[all]
6
- let(:valid_attributes) do
7
- {
8
- data_vencimento: Date.parse('2015-06-26'),
9
- valor: 1278.90,
10
- cedente: 'Kivanio Barbosa',
11
- documento_cedente: '12345678912',
12
- sacado: 'Claudio Pozzebom',
13
- sacado_documento: '12345678900',
14
- agencia: '1102',
15
- conta_corrente: '1454204',
16
- nosso_numero: '22832563',
17
- convenio: '9000150',
18
- digito_convenio: '46'
19
- }
20
- end
21
-
22
- it 'Criar nova instancia com atributos padrões' do
23
- boleto_novo = described_class.new
24
-
25
- expect(boleto_novo.banco).to eql('041')
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_vencimento).to eql(Date.current)
30
- expect(boleto_novo.aceite).to eql('S')
31
- expect(boleto_novo.quantidade).to be(1)
32
- expect(boleto_novo.valor).to eq(0.0)
33
- expect(boleto_novo.valor_documento).to eq(0.0)
34
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
35
- expect(boleto_novo.carteira).to eql('2')
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('041')
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.parse('2015-06-26'))
46
- expect(boleto_novo.aceite).to eql('S')
47
- expect(boleto_novo.quantidade).to be(1)
48
- expect(boleto_novo.valor).to eq(1278.9)
49
- expect(boleto_novo.valor_documento).to eq(1278.9)
50
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
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('01454204')
56
- expect(boleto_novo.agencia).to eql('1102')
57
- expect(boleto_novo.nosso_numero).to eql('22832563')
58
- expect(boleto_novo.nosso_numero_boleto).to eql('22832563-51')
59
- expect(boleto_novo.carteira).to eql('2')
60
- expect(boleto_novo.codigo_barras).to eql('04191647100001278902111029000150228325634059')
61
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('04192.11107 29000.150226 83256.340593 1 64710000127890')
62
- end
63
-
64
- it 'Não permitir gerar boleto com atributos inválido' do
65
- boleto_novo = described_class.new
66
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
67
- expect(boleto_novo.errors.count).to be(5)
68
- end
69
-
70
- it 'Montar nosso_numero_boleto' do
71
- valid_attributes[:nosso_numero] = '00009274'
72
- boleto_novo = described_class.new(valid_attributes)
73
- expect(boleto_novo.nosso_numero_boleto).to eql('00009274-22')
74
-
75
- valid_attributes[:nosso_numero] = '00009194'
76
- boleto_novo = described_class.new(valid_attributes)
77
- expect(boleto_novo.nosso_numero_boleto).to eql('00009194-38')
78
-
79
- valid_attributes[:nosso_numero] = '22832563'
80
- boleto_novo = described_class.new(valid_attributes)
81
- expect(boleto_novo.nosso_numero_boleto).to eql('22832563-51')
82
- end
83
-
84
- it 'Montar codio de barras' do
85
- valid_attributes[:nosso_numero] = '22832563'
86
- valid_attributes[:data_vencimento] = Date.parse('2000-07-04')
87
- valid_attributes[:valor] = 550.0
88
- valid_attributes[:agencia] = '1102'
89
- valid_attributes[:conta_corrente] = '00099999'
90
- valid_attributes[:convenio] = '9000150'
91
- boleto_novo = described_class.new(valid_attributes)
92
- expect(boleto_novo.codigo_barras).to eql('04198100100000550002111029000150228325634059')
93
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('04192.11107 29000.150226 83256.340593 8 10010000055000')
94
-
95
- valid_attributes[:nosso_numero] = '00009274'
96
- valid_attributes[:data_vencimento] = Date.parse('2000-07-04')
97
- valid_attributes[:valor] = 550.00
98
- valid_attributes[:agencia] = '1102'
99
- valid_attributes[:conta_corrente] = '00099999'
100
- valid_attributes[:convenio] = '9000150'
101
- boleto_novo = described_class.new(valid_attributes)
102
- expect(boleto_novo.codigo_barras).to eql('04194100100000550002111029000150000092744028')
103
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('04192.11107 29000.150002 00927.440289 4 10010000055000')
104
-
105
- valid_attributes[:nosso_numero] = '00009194'
106
- valid_attributes[:data_vencimento] = Date.parse('2000-07-04')
107
- valid_attributes[:valor] = 550.00
108
- valid_attributes[:agencia] = '1102'
109
- valid_attributes[:conta_corrente] = '00099999'
110
- valid_attributes[:convenio] = '9000150'
111
- boleto_novo = described_class.new(valid_attributes)
112
- expect(boleto_novo.codigo_barras).to eql('04198100100000550002111029000150000091944023')
113
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('04192.11107 29000.150002 00919.440230 8 10010000055000')
114
-
115
- valid_attributes[:nosso_numero] = '03408099'
116
- valid_attributes[:data_vencimento] = Date.parse('2017-01-12')
117
- valid_attributes[:valor] = 1216.00
118
- valid_attributes[:agencia] = '0016'
119
- valid_attributes[:conta_corrente] = '00099999'
120
- valid_attributes[:convenio] = '0164640'
121
- boleto_novo = described_class.new(valid_attributes)
122
- expect(boleto_novo.codigo_barras).to eql('04192703700001216002100160164640034080994027')
123
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('04192.10018 60164.640033 40809.940279 2 70370000121600')
124
- end
125
-
126
- it 'Montar agencia_conta_boleto' do
127
- valid_attributes[:convenio] = '9000150'
128
- boleto_novo = described_class.new(valid_attributes)
129
- expect(boleto_novo.agencia_conta_boleto).to eql('1102 / 900015.0.46')
130
-
131
- valid_attributes[:convenio] = '8505610'
132
- valid_attributes[:digito_convenio] = '99'
133
- boleto_novo = described_class.new(valid_attributes)
134
- expect(boleto_novo.agencia_conta_boleto).to eql('1102 / 850561.0.99')
135
- end
136
-
137
- describe 'Busca logotipo do banco' do
138
- it_behaves_like 'busca_logotipo'
139
- end
140
-
141
- it 'Gerar boleto nos formatos válidos com método to_' do
142
- valid_attributes[:valor] = 135.00
143
- valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
144
- valid_attributes[:nosso_numero] = '240'
145
-
146
- boleto_novo = described_class.new(valid_attributes)
147
-
148
- %w[pdf jpg tif png].each do |format|
149
- file_body = boleto_novo.send("to_#{format}".to_sym)
150
- tmp_file = Tempfile.new(['foobar.', format])
151
- tmp_file.puts file_body
152
- tmp_file.close
153
-
154
- expect(File).to exist(tmp_file.path)
155
- expect(File.stat(tmp_file.path)).not_to be_zero
156
- expect(File.delete(tmp_file.path)).to be(1)
157
- expect(File).not_to exist(tmp_file.path)
158
- end
159
- end
160
-
161
- it 'Gerar boleto nos formatos válidos' do
162
- valid_attributes[:valor] = 135.00
163
- valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
164
- valid_attributes[:nosso_numero] = '240'
165
-
166
- boleto_novo = described_class.new(valid_attributes)
167
-
168
- %w[pdf jpg tif png].each do |format|
169
- file_body = boleto_novo.to(format)
170
- tmp_file = Tempfile.new(['foobar.', format])
171
- tmp_file.puts file_body
172
- tmp_file.close
173
-
174
- expect(File).to exist(tmp_file.path)
175
- expect(File.stat(tmp_file.path)).not_to be_zero
176
- expect(File.delete(tmp_file.path)).to be(1)
177
- expect(File).not_to exist(tmp_file.path)
178
- end
179
- end
180
- end
@@ -1,214 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Bradesco 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
- conta_corrente: '61900',
16
- convenio: 12_387_989,
17
- nosso_numero: '777700168'
18
- }
19
- end
20
-
21
- it 'Criar nova instancia com atributos padrões' do
22
- boleto_novo = described_class.new
23
- expect(boleto_novo.banco).to eql('237')
24
- expect(boleto_novo.especie_documento).to eql('DM')
25
- expect(boleto_novo.especie).to eql('R$')
26
- expect(boleto_novo.moeda).to eql('9')
27
- expect(boleto_novo.data_processamento).to eql(Date.current)
28
- expect(boleto_novo.data_vencimento).to eql(Date.current)
29
- expect(boleto_novo.aceite).to eql('S')
30
- expect(boleto_novo.quantidade).to be(1)
31
- expect(boleto_novo.valor).to eq(0.0)
32
- expect(boleto_novo.valor_documento).to eq(0.0)
33
- expect(boleto_novo.local_pagamento).to eql('Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
34
- expect(boleto_novo.carteira).to eql('06')
35
- end
36
-
37
- it 'Criar nova instancia com atributos válidos' do
38
- boleto_novo = described_class.new(valid_attributes)
39
- expect(boleto_novo.banco).to eql('237')
40
- expect(boleto_novo.especie_documento).to eql('DM')
41
- expect(boleto_novo.especie).to eql('R$')
42
- expect(boleto_novo.moeda).to eql('9')
43
- expect(boleto_novo.data_processamento).to eql(Date.current)
44
- expect(boleto_novo.data_vencimento).to eql(Date.current)
45
- expect(boleto_novo.aceite).to eql('S')
46
- expect(boleto_novo.quantidade).to be(1)
47
- expect(boleto_novo.valor).to eq(0.0)
48
- expect(boleto_novo.valor_documento).to eq(0.0)
49
- expect(boleto_novo.local_pagamento).to eql('Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
50
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
51
- expect(boleto_novo.documento_cedente).to eql('12345678912')
52
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
53
- expect(boleto_novo.sacado_documento).to eql('12345678900')
54
- expect(boleto_novo.conta_corrente).to eql('0061900')
55
- expect(boleto_novo.agencia).to eql('4042')
56
- expect(boleto_novo.convenio).to be(12_387_989)
57
- expect(boleto_novo.nosso_numero).to eql('00777700168')
58
- expect(boleto_novo.carteira).to eql('06')
59
- end
60
-
61
- it 'Montar código de barras para carteira número 06' do
62
- valid_attributes[:valor] = 2952.95
63
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
64
- valid_attributes[:data_vencimento] = Date.parse('2009-04-30')
65
- valid_attributes[:nosso_numero] = '75896452'
66
- valid_attributes[:conta_corrente] = '0403005'
67
- valid_attributes[:agencia] = '1172'
68
- boleto_novo = described_class.new(valid_attributes)
69
-
70
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1172060007589645204030050')
71
- expect(boleto_novo.codigo_barras).to eql('23795422300002952951172060007589645204030050')
72
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('23791.17209 60007.589645 52040.300502 5 42230000295295')
73
- end
74
-
75
- it 'Montar código de barras para carteira número 03' do
76
- valid_attributes[:valor] = 135.00
77
- valid_attributes[:data_vencimento] = Date.parse('2008-02-02')
78
- valid_attributes[:data_documento] = Date.parse('2008-02-01')
79
- valid_attributes[:nosso_numero] = '777700168'
80
- valid_attributes[:conta_corrente] = '61900'
81
- valid_attributes[:agencia] = '4042'
82
- valid_attributes[:carteira] = '03'
83
- boleto_novo = described_class.new(valid_attributes)
84
-
85
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('4042030077770016800619000')
86
- expect(boleto_novo.codigo_barras).to eql('23791377000000135004042030077770016800619000')
87
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('23794.04201 30077.770011 68006.190000 1 37700000013500')
88
- end
89
-
90
- it 'Não permitir gerar boleto com atributos inválido' do
91
- boleto_novo = described_class.new
92
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
93
- expect(boleto_novo.errors.count).to be(5)
94
- end
95
-
96
- it 'Montar nosso_numero_boleto' do
97
- boleto_novo = described_class.new(valid_attributes)
98
-
99
- boleto_novo.nosso_numero = '00000000525'
100
- boleto_novo.carteira = '06'
101
- expect(boleto_novo.nosso_numero_boleto).to eql('06/00000000525-P')
102
- expect(boleto_novo.nosso_numero_dv).to eql('P')
103
-
104
- boleto_novo.nosso_numero = '00000000001'
105
- boleto_novo.carteira = '09'
106
- expect(boleto_novo.nosso_numero_boleto).to eql('09/00000000001-1')
107
- expect(boleto_novo.nosso_numero_dv).to be(1)
108
-
109
- boleto_novo.nosso_numero = '00000000002'
110
- boleto_novo.carteira = '19'
111
- expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000002-8')
112
- expect(boleto_novo.nosso_numero_dv).to be(8)
113
-
114
- boleto_novo.nosso_numero = 6
115
- boleto_novo.carteira = '19'
116
- expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000006-0')
117
- expect(boleto_novo.nosso_numero_dv).to be(0)
118
-
119
- boleto_novo.nosso_numero = '00000000001'
120
- boleto_novo.carteira = '19'
121
- expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000001-P')
122
- expect(boleto_novo.nosso_numero_dv).to eql('P')
123
- end
124
-
125
- it 'Montar agencia_conta_boleto' do
126
- boleto_novo = described_class.new(valid_attributes)
127
-
128
- expect(boleto_novo.agencia_conta_boleto).to eql('4042-8 / 0061900-0')
129
- boleto_novo.agencia = '0719'
130
- expect(boleto_novo.agencia_conta_boleto).to eql('0719-6 / 0061900-0')
131
- boleto_novo.agencia = '0548'
132
- boleto_novo.conta_corrente = '1448'
133
- expect(boleto_novo.agencia_conta_boleto).to eql('0548-7 / 0001448-6')
134
- end
135
-
136
- describe 'Busca logotipo do banco' do
137
- it_behaves_like 'busca_logotipo'
138
- end
139
-
140
- it 'Gerar boleto nos formatos válidos com método to_' do
141
- valid_attributes[:valor] = 2952.95
142
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
143
- valid_attributes[:data_vencimento] = Date.parse('2009-04-30')
144
- valid_attributes[:nosso_numero] = '75896452'
145
- valid_attributes[:conta_corrente] = '0403005'
146
- valid_attributes[:agencia] = '1172'
147
- boleto_novo = described_class.new(valid_attributes)
148
-
149
- %w[pdf jpg tif png].each do |format|
150
- file_body = boleto_novo.send("to_#{format}".to_sym)
151
- tmp_file = Tempfile.new(['foobar.', format])
152
- tmp_file.puts file_body
153
- tmp_file.close
154
- expect(File).to exist(tmp_file.path)
155
- expect(File.stat(tmp_file.path)).not_to be_zero
156
- expect(File.delete(tmp_file.path)).to be(1)
157
- expect(File).not_to exist(tmp_file.path)
158
- end
159
- end
160
-
161
- it 'Gerar boleto nos formatos válidos' do
162
- valid_attributes[:valor] = 2952.95
163
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
164
- valid_attributes[:data_vencimento] = Date.parse('2009-04-30')
165
- valid_attributes[:nosso_numero] = '75896452'
166
- valid_attributes[:conta_corrente] = '0403005'
167
- valid_attributes[:agencia] = '1172'
168
- boleto_novo = described_class.new(valid_attributes)
169
-
170
- %w[pdf jpg tif png].each do |format|
171
- file_body = boleto_novo.to(format)
172
- tmp_file = Tempfile.new(['foobar.', format])
173
- tmp_file.puts file_body
174
- tmp_file.close
175
- expect(File).to exist(tmp_file.path)
176
- expect(File.stat(tmp_file.path)).not_to be_zero
177
- expect(File.delete(tmp_file.path)).to be(1)
178
- expect(File).not_to exist(tmp_file.path)
179
- end
180
- end
181
-
182
- describe '#agencia_dv' do
183
- specify(:aggregate_failures) do
184
- expect(described_class.new(agencia: '0255').agencia_dv).to eq(0)
185
- expect(described_class.new(agencia: '0943').agencia_dv).to eq(1)
186
- expect(described_class.new(agencia: '1467').agencia_dv).to eq(2)
187
- expect(described_class.new(agencia: '0794').agencia_dv).to eq(3)
188
- expect(described_class.new(agencia: '0155').agencia_dv).to eq(4)
189
- expect(described_class.new(agencia: '0650').agencia_dv).to eq(5)
190
- expect(described_class.new(agencia: '0199').agencia_dv).to eq(6)
191
- expect(described_class.new(agencia: '1425').agencia_dv).to eq(7)
192
- expect(described_class.new(agencia: '2839').agencia_dv).to eq(8)
193
- expect(described_class.new(agencia: '2332').agencia_dv).to eq(9)
194
- expect(described_class.new(agencia: '0121').agencia_dv).to eq('P')
195
- end
196
- end
197
-
198
- describe '#conta_corrente_dv' do
199
- specify(:aggregate_failures) do
200
- expect(described_class.new(conta_corrente: '0325620').conta_corrente_dv).to eq(0)
201
- expect(described_class.new(conta_corrente: '0284025').conta_corrente_dv).to eq(1)
202
- expect(described_class.new(conta_corrente: '0238069').conta_corrente_dv).to eq(2)
203
- expect(described_class.new(conta_corrente: '0135323').conta_corrente_dv).to eq(3)
204
- expect(described_class.new(conta_corrente: '0010667').conta_corrente_dv).to eq(4)
205
- expect(described_class.new(conta_corrente: '0420571').conta_corrente_dv).to eq(5)
206
- expect(described_class.new(conta_corrente: '0510701').conta_corrente_dv).to eq(6)
207
- expect(described_class.new(conta_corrente: '0420536').conta_corrente_dv).to eq(7)
208
- expect(described_class.new(conta_corrente: '0012500').conta_corrente_dv).to eq(8)
209
- expect(described_class.new(conta_corrente: '0010673').conta_corrente_dv).to eq(9)
210
- expect(described_class.new(conta_corrente: '0019669').conta_corrente_dv).to eq('P')
211
- expect(described_class.new(conta_corrente: '0301357').conta_corrente_dv).to eq('P')
212
- end
213
- end
214
- end