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,192 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Sicoob do # :nodoc:[all]
6
- let(:valid_attributes) do
7
- {
8
- data_documento: Date.parse('2016-02-16'),
9
- data_vencimento: Date.parse('2016-02-18'),
10
- aceite: 'N',
11
- valor: 50.0,
12
- cedente: 'Kivanio Barbosa',
13
- documento_cedente: '12345678912',
14
- sacado: 'Claudio Pozzebom',
15
- sacado_documento: '12345678900',
16
- agencia: '4327',
17
- conta_corrente: '417270',
18
- convenio: '229385',
19
- nosso_numero: '2'
20
- }
21
- end
22
-
23
- it 'Criar nova instancia com atributos padrões' do
24
- boleto_novo = described_class.new
25
-
26
- expect(boleto_novo.banco).to eql('756')
27
- expect(boleto_novo.especie_documento).to eql('DM')
28
- expect(boleto_novo.especie).to eql('R$')
29
- expect(boleto_novo.moeda).to eql('9')
30
- expect(boleto_novo.data_processamento).to eql(Date.current)
31
- expect(boleto_novo.data_vencimento).to eql(Date.current)
32
- expect(boleto_novo.aceite).to eql('S')
33
- expect(boleto_novo.quantidade).to eql('001')
34
- expect(boleto_novo.valor).to eq(0.0)
35
- expect(boleto_novo.valor_documento).to eq(0.0)
36
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
37
- expect(boleto_novo.carteira).to eql('1')
38
- expect(boleto_novo.codigo_servico).to be_falsey
39
- end
40
-
41
- it 'Criar nova instancia com atributos válidos' do
42
- boleto_novo = described_class.new(valid_attributes)
43
- expect(boleto_novo.banco).to eql('756')
44
- expect(boleto_novo.especie_documento).to eql('DM')
45
- expect(boleto_novo.especie).to eql('R$')
46
- expect(boleto_novo.moeda).to eql('9')
47
- expect(boleto_novo.data_documento).to eql(Date.parse('2016-02-16'))
48
- expect(boleto_novo.data_vencimento).to eql(Date.parse('2016-02-18'))
49
- expect(boleto_novo.aceite).to eql('N')
50
- expect(boleto_novo.quantidade).to eql('001')
51
- expect(boleto_novo.valor).to eq(50.0)
52
- expect(boleto_novo.valor_documento).to eq(50.0)
53
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
54
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
55
- expect(boleto_novo.documento_cedente).to eql('12345678912')
56
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
57
- expect(boleto_novo.sacado_documento).to eql('12345678900')
58
- expect(boleto_novo.conta_corrente).to eql('0417270')
59
- expect(boleto_novo.agencia).to eql('4327')
60
- expect(boleto_novo.convenio).to eql('0229385')
61
- expect(boleto_novo.nosso_numero).to eql('0000002')
62
- expect(boleto_novo.carteira).to eql('1')
63
- expect(boleto_novo.codigo_servico).to be_falsey
64
- end
65
-
66
- it 'Não permitir gerar boleto com atributos inválido' do
67
- boleto_novo = described_class.new
68
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
69
- expect(boleto_novo.errors.count).to be(5)
70
- end
71
-
72
- it 'Montar agencia_conta_boleto' do
73
- boleto_novo = described_class.new(valid_attributes)
74
-
75
- expect(boleto_novo.agencia_conta_boleto).to eql('4327 / 0229385')
76
- end
77
-
78
- it 'Montar nosso numero dv' do
79
- valid_attributes[:nosso_numero] = '1'
80
- boleto_novo = described_class.new(valid_attributes)
81
- expect(boleto_novo.nosso_numero_dv).to be(7)
82
-
83
- valid_attributes[:nosso_numero] = '2'
84
- boleto_novo = described_class.new(valid_attributes)
85
- expect(boleto_novo.nosso_numero_dv).to be(4)
86
-
87
- valid_attributes[:nosso_numero] = '3'
88
- boleto_novo = described_class.new(valid_attributes)
89
- expect(boleto_novo.nosso_numero_dv).to be(1)
90
-
91
- valid_attributes[:nosso_numero] = '4'
92
- boleto_novo = described_class.new(valid_attributes)
93
- expect(boleto_novo.nosso_numero_dv).to be(9)
94
-
95
- valid_attributes[:nosso_numero] = '5'
96
- boleto_novo = described_class.new(valid_attributes)
97
- expect(boleto_novo.nosso_numero_dv).to be(6)
98
-
99
- valid_attributes[:nosso_numero] = '6'
100
- boleto_novo = described_class.new(valid_attributes)
101
- expect(boleto_novo.nosso_numero_dv).to be(3)
102
-
103
- valid_attributes[:nosso_numero] = '7'
104
- boleto_novo = described_class.new(valid_attributes)
105
- expect(boleto_novo.nosso_numero_dv).to be(0)
106
-
107
- valid_attributes[:nosso_numero] = '8'
108
- boleto_novo = described_class.new(valid_attributes)
109
- expect(boleto_novo.nosso_numero_dv).to be(8)
110
-
111
- valid_attributes[:nosso_numero] = '9'
112
- boleto_novo = described_class.new(valid_attributes)
113
- expect(boleto_novo.nosso_numero_dv).to be(5)
114
-
115
- valid_attributes[:nosso_numero] = '10'
116
- boleto_novo = described_class.new(valid_attributes)
117
- expect(boleto_novo.nosso_numero_dv).to be(3)
118
-
119
- valid_attributes[:nosso_numero] = '11'
120
- boleto_novo = described_class.new(valid_attributes)
121
- expect(boleto_novo.nosso_numero_dv).to be(0)
122
-
123
- valid_attributes[:nosso_numero] = '12'
124
- boleto_novo = described_class.new(valid_attributes)
125
- expect(boleto_novo.nosso_numero_dv).to be(8)
126
-
127
- valid_attributes[:nosso_numero] = '13'
128
- boleto_novo = described_class.new(valid_attributes)
129
- expect(boleto_novo.nosso_numero_dv).to be(5)
130
- end
131
-
132
- it 'Montar código de barras modalidade 01' do
133
- boleto_novo = described_class.new(valid_attributes)
134
-
135
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('75691.43279 01022.938508 00000.240010 2 67080000005000')
136
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1432701022938500000024001')
137
- expect(boleto_novo.codigo_barras_segunda_parte.size).to be(25)
138
- end
139
-
140
- it 'Montar código de barras modalidade 05' do
141
- valid_attributes[:data_documento] = Date.parse('2017-04-15')
142
- valid_attributes[:data_vencimento] = Date.parse('2017-04-15')
143
- valid_attributes[:valor] = 235.00
144
- valid_attributes[:agencia] = '4134'
145
- valid_attributes[:conta_corrente] = '10333'
146
- valid_attributes[:convenio] = '148180'
147
- valid_attributes[:nosso_numero] = '110'
148
- valid_attributes[:variacao] = '05'
149
-
150
- boleto_novo = described_class.new(valid_attributes)
151
-
152
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('75691.41349 05014.818008 00011.040011 4 71300000023500')
153
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1413405014818000001104001')
154
- expect(boleto_novo.codigo_barras_segunda_parte.size).to be(25)
155
- end
156
-
157
- describe 'Busca logotipo do banco' do
158
- it_behaves_like 'busca_logotipo'
159
- end
160
-
161
- it 'Gerar boleto nos formatos válidos com método to_' do
162
- boleto_novo = described_class.new(valid_attributes)
163
-
164
- %w[pdf jpg tif png].each do |format|
165
- file_body = boleto_novo.send("to_#{format}".to_sym)
166
- tmp_file = Tempfile.new(['foobar.', format])
167
- tmp_file.puts file_body
168
- tmp_file.close
169
-
170
- expect(File).to exist(tmp_file.path)
171
- expect(File.stat(tmp_file.path)).not_to be_zero
172
- expect(File.delete(tmp_file.path)).to be(1)
173
- expect(File).not_to exist(tmp_file.path)
174
- end
175
- end
176
-
177
- it 'Gerar boleto nos formatos válidos' do
178
- boleto_novo = described_class.new(valid_attributes)
179
-
180
- %w[pdf jpg tif png].each do |format|
181
- file_body = boleto_novo.to(format)
182
- tmp_file = Tempfile.new(['foobar.', format])
183
- tmp_file.puts file_body
184
- tmp_file.close
185
-
186
- expect(File).to exist(tmp_file.path)
187
- expect(File.stat(tmp_file.path)).not_to be_zero
188
- expect(File.delete(tmp_file.path)).to be(1)
189
- expect(File).not_to exist(tmp_file.path)
190
- end
191
- end
192
- end
@@ -1,194 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Sicredi do
6
- let(:valid_attributes) do
7
- {
8
- data_processamento: Date.parse('2016-08-22'),
9
- data_vencimento: Date.parse('2016-08-22'),
10
- valor: 195.57,
11
- cedente: 'Kivanio Barbosa',
12
- documento_cedente: '12345678912',
13
- sacado: 'Claudio Pozzebom',
14
- sacado_documento: '12345678900',
15
- agencia: '0710',
16
- conta_corrente: '61900',
17
- convenio: '129',
18
- nosso_numero: '8879',
19
- posto: '65',
20
- byte_idt: '2',
21
- carteira: '1'
22
- }
23
- end
24
-
25
- it 'Criar nova instancia com atributos padrões' do
26
- boleto_novo = described_class.new
27
- expect(boleto_novo.banco).to eql('748')
28
- expect(boleto_novo.especie_documento).to eql('A')
29
- expect(boleto_novo.especie).to eql('R$')
30
- expect(boleto_novo.moeda).to eql('9')
31
- expect(boleto_novo.data_processamento).to eql(Date.current)
32
- expect(boleto_novo.data_vencimento).to eql(Date.current)
33
- expect(boleto_novo.aceite).to eql('S')
34
- expect(boleto_novo.quantidade).to be(1)
35
- expect(boleto_novo.valor).to eq(0.0)
36
- expect(boleto_novo.valor_documento).to eq(0.0)
37
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
38
- expect(boleto_novo.carteira).to eql('3')
39
- end
40
-
41
- it 'Criar nova instancia com atributos válidos' do
42
- boleto_novo = described_class.new(valid_attributes)
43
- expect(boleto_novo.banco).to eql('748')
44
- expect(boleto_novo.especie_documento).to eql('A')
45
- expect(boleto_novo.especie).to eql('R$')
46
- expect(boleto_novo.moeda).to eql('9')
47
- expect(boleto_novo.data_processamento).to eql(Date.parse('2016-08-22'))
48
- expect(boleto_novo.data_vencimento).to eql(Date.parse('2016-08-22'))
49
- expect(boleto_novo.aceite).to eql('S')
50
- expect(boleto_novo.quantidade).to be(1)
51
- expect(boleto_novo.valor).to eq(195.57)
52
- expect(boleto_novo.valor_documento).to eq(195.57)
53
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
54
- expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
55
- expect(boleto_novo.documento_cedente).to eql('12345678912')
56
- expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
57
- expect(boleto_novo.sacado_documento).to eql('12345678900')
58
- expect(boleto_novo.conta_corrente).to eql('61900')
59
- expect(boleto_novo.agencia).to eql('0710')
60
- expect(boleto_novo.convenio).to eql('00129')
61
- expect(boleto_novo.nosso_numero).to eql('08879')
62
- expect(boleto_novo.carteira).to eql('1')
63
- end
64
-
65
- it 'Montar código de barras para carteira número 3' do
66
- valid_attributes[:carteira] = '3'
67
- boleto_novo = described_class.new(valid_attributes)
68
-
69
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74893.11626 08879.307109 65001.291056 1 68940000019557')
70
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('3116208879307106500129105')
71
- end
72
-
73
- context 'carteira número 1' do
74
- it 'case 1' do
75
- boleto_novo = described_class.new(valid_attributes)
76
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08879.307109 65001.291015 1 68940000019557')
77
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208879307106500129101')
78
- end
79
-
80
- it 'case 2' do
81
- valid_attributes[:valor] = 700.00
82
- valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
83
- valid_attributes[:nosso_numero] = '08902'
84
- boleto_novo = described_class.new(valid_attributes)
85
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08902.107104 65001.291007 3 68660000070000')
86
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208902107106500129100')
87
- end
88
-
89
- it 'case 3' do
90
- valid_attributes[:valor] = 700.00
91
- valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
92
- valid_attributes[:nosso_numero] = '8896'
93
- boleto_novo = described_class.new(valid_attributes)
94
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08896.307108 65001.291072 1 68660000070000')
95
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208896307106500129107')
96
- end
97
-
98
- it 'case 4' do
99
- valid_attributes[:valor] = 700.00
100
- valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
101
- valid_attributes[:nosso_numero] = '8899'
102
- boleto_novo = described_class.new(valid_attributes)
103
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08899.807104 65001.291031 6 68660000070000')
104
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208899807106500129103')
105
- end
106
-
107
- it 'case 5' do
108
- valid_attributes[:valor] = 195.58
109
- valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
110
- valid_attributes[:nosso_numero] = '8878'
111
- boleto_novo = described_class.new(valid_attributes)
112
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08878.507105 65001.291064 1 68660000019558')
113
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208878507106500129106')
114
- end
115
-
116
- it 'case 6' do
117
- valid_attributes[:valor] = 222.00
118
- valid_attributes[:data_vencimento] = Date.parse('2016-08-26')
119
- valid_attributes[:nosso_numero] = '9048'
120
- boleto_novo = described_class.new(valid_attributes)
121
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 09048.807102 65001.291031 8 68980000022200')
122
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116209048807106500129103')
123
- end
124
- end
125
-
126
- it 'Não permitir gerar boleto com atributos inválido' do
127
- boleto_novo = described_class.new
128
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
129
- expect(boleto_novo.errors.count).to be(6)
130
- end
131
-
132
- it 'Montar nosso_numero_boleto' do
133
- boleto_novo = described_class.new(valid_attributes)
134
- expect(boleto_novo.nosso_numero_dv).to be(3)
135
- expect(boleto_novo.nosso_numero_boleto).to eql('16/208879-3')
136
-
137
- valid_attributes[:posto] = '02'
138
- valid_attributes[:byte_idt] = '2'
139
- valid_attributes[:nosso_numero] = '00003'
140
- valid_attributes[:agencia] = '0165'
141
- valid_attributes[:convenio] = '00623'
142
- valid_attributes[:data_vencimento] = Date.parse('2007-08-26')
143
- valid_attributes[:data_processamento] = Date.parse('2007-08-26')
144
-
145
- boleto_novo = described_class.new(valid_attributes)
146
- expect(boleto_novo.nosso_numero_dv).to be(1)
147
- expect(boleto_novo.nosso_numero_boleto).to eql('07/200003-1')
148
- end
149
-
150
- it 'Montar agencia_conta_boleto' do
151
- boleto_novo = described_class.new(valid_attributes)
152
- expect(boleto_novo.agencia_conta_boleto).to eql('0710.65.00129')
153
- end
154
-
155
- describe 'Busca logotipo do banco' do
156
- it_behaves_like 'busca_logotipo'
157
- end
158
-
159
- it 'Gerar boleto nos formatos válidos com método to_' do
160
- boleto_novo = described_class.new(valid_attributes)
161
-
162
- %w[pdf jpg tif png].each do |format|
163
- file_body = boleto_novo.send("to_#{format}".to_sym)
164
- tmp_file = Tempfile.new(['foobar.', format])
165
- tmp_file.puts file_body
166
- tmp_file.close
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] = 2952.95
176
- valid_attributes[:data_documento] = Date.parse('2009-04-30')
177
- valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
178
- valid_attributes[:nosso_numero] = '86452'
179
- valid_attributes[:conta_corrente] = '03005'
180
- valid_attributes[:agencia] = '1172'
181
- boleto_novo = described_class.new(valid_attributes)
182
-
183
- %w[pdf jpg tif png].each do |format|
184
- file_body = boleto_novo.to(format)
185
- tmp_file = Tempfile.new(['foobar.', format])
186
- tmp_file.puts file_body
187
- tmp_file.close
188
- expect(File).to exist(tmp_file.path)
189
- expect(File.stat(tmp_file.path)).not_to be_zero
190
- expect(File.delete(tmp_file.path)).to be(1)
191
- expect(File).not_to exist(tmp_file.path)
192
- end
193
- end
194
- end
@@ -1,139 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Boleto::Unicred do
6
- before do
7
- @valid_attributes = {
8
- especie_documento: 'DM',
9
- data_processamento: Date.parse('2012-01-18'),
10
- valor: 0.0,
11
- cedente: 'Kivanio Barbosa',
12
- documento_cedente: '12345678912',
13
- sacado: 'Claudio Pozzebom',
14
- sacado_documento: '12345678900',
15
- agencia: '4042',
16
- conta_corrente: '61900',
17
- conta_corrente_dv: '7',
18
- nosso_numero: '00168'
19
- }
20
- end
21
-
22
- it 'Criar nova instancia com atributos padrões' do
23
- boleto_novo = described_class.new
24
- expect(boleto_novo.banco).to eql('136')
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_processamento).to eql(Date.current)
29
- expect(boleto_novo.data_vencimento).to eql(Date.current)
30
- expect(boleto_novo.aceite).to eql('N')
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('PAGÁVEL PREFERENCIALMENTE NAS AGÊNCIAS DA UNICRED')
35
- expect(boleto_novo.carteira).to eql('21')
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('136')
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.parse('2012-01-18'))
45
- expect(boleto_novo.data_vencimento).to eql(Date.current)
46
- expect(boleto_novo.aceite).to eql('N')
47
- expect(boleto_novo.quantidade).to be(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 NAS AGÊNCIAS DA UNICRED')
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('000061900')
56
- expect(boleto_novo.agencia).to eql('4042')
57
- expect(boleto_novo.nosso_numero).to eql('0000000168')
58
- expect(boleto_novo.carteira).to eql('21')
59
- end
60
-
61
- it 'Montar código de barras para carteira número 21' do
62
- @valid_attributes[:valor] = 2952.95
63
- @valid_attributes[:data_vencimento] = Date.parse('2012-01-24')
64
- @valid_attributes[:data_documento] = Date.parse('2012-01-19')
65
- @valid_attributes[:nosso_numero] = '13871'
66
- @valid_attributes[:conta_corrente] = '12345'
67
- @valid_attributes[:agencia] = '1234'
68
- @valid_attributes[:carteira] = '21'
69
- boleto_novo = described_class.new(@valid_attributes)
70
-
71
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('13691.23409 00012.345708 00001.387117 1 52220000295295')
72
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('1234000012345700000138711')
73
- end
74
-
75
- it 'Não permitir gerar boleto com atributos inválido' do
76
- boleto_novo = described_class.new
77
- expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
78
- expect(boleto_novo.errors.count).to be(5)
79
- end
80
-
81
- it 'Montar nosso_numero_boleto' do
82
- boleto_novo = described_class.new(@valid_attributes)
83
-
84
- boleto_novo.agencia = '1234'
85
- boleto_novo.conta_corrente = '12345'
86
- boleto_novo.nosso_numero = '13871'
87
- boleto_novo.carteira = '21'
88
- expect(boleto_novo.nosso_numero_boleto).to eql('0000013871-1')
89
- expect(boleto_novo.nosso_numero_dv).to be(1)
90
- end
91
-
92
- it 'Montar agencia_conta_boleto' do
93
- boleto_novo = described_class.new(@valid_attributes)
94
-
95
- boleto_novo.agencia = '1234'
96
- boleto_novo.conta_corrente = '12345'
97
- expect(boleto_novo.agencia_conta_boleto).to eql('1234 / 000012345-7')
98
- end
99
-
100
- describe 'Busca logotipo do banco' do
101
- it_behaves_like 'busca_logotipo'
102
- end
103
-
104
- it 'Gerar boleto nos formatos válidos com método to_' do
105
- boleto_novo = described_class.new(@valid_attributes)
106
-
107
- %w[pdf jpg tif png].each do |format|
108
- file_body = boleto_novo.send("to_#{format}".to_sym)
109
- tmp_file = Tempfile.new(['foobar.', format])
110
- tmp_file.puts file_body
111
- tmp_file.close
112
- expect(File).to exist(tmp_file.path)
113
- expect(File.stat(tmp_file.path)).not_to be_zero
114
- expect(File.delete(tmp_file.path)).to be(1)
115
- expect(File).not_to exist(tmp_file.path)
116
- end
117
- end
118
-
119
- it 'Gerar boleto nos formatos válidos' do
120
- @valid_attributes[:valor] = 2952.95
121
- @valid_attributes[:data_documento] = Date.parse('2009-04-30')
122
- @valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
123
- @valid_attributes[:nosso_numero] = '86452'
124
- @valid_attributes[:conta_corrente] = '03005'
125
- @valid_attributes[:agencia] = '1172'
126
- boleto_novo = described_class.new(@valid_attributes)
127
-
128
- %w[pdf jpg tif png].each do |format|
129
- file_body = boleto_novo.to(format)
130
- tmp_file = Tempfile.new(['foobar.', format])
131
- tmp_file.puts file_body
132
- tmp_file.close
133
- expect(File).to exist(tmp_file.path)
134
- expect(File.stat(tmp_file.path)).not_to be_zero
135
- expect(File.delete(tmp_file.path)).to be(1)
136
- expect(File).not_to exist(tmp_file.path)
137
- end
138
- end
139
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe 'Muúltiplos boletos' do # :nodoc:[all]
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: '4042',
14
- conta_corrente: '61900',
15
- convenio: 12_387_989,
16
- nosso_numero: '777700168'
17
- }
18
- end
19
-
20
- it 'imprimir múltiplos boleto em lote' do
21
- boleto_1 = Brcobranca::Boleto::BancoBrasil.new(@valid_attributes)
22
- boleto_2 = Brcobranca::Boleto::Bradesco.new(@valid_attributes)
23
- boleto_3 = Brcobranca::Boleto::BancoBrasil.new(@valid_attributes)
24
-
25
- boletos = [boleto_1, boleto_2, boleto_3]
26
-
27
- %w[pdf jpg tif png].each do |format|
28
- file_body = Brcobranca::Boleto::Base.lote(boletos, formato: format.to_s.to_sym)
29
- tmp_file = Tempfile.new(['foobar.', format])
30
- tmp_file.puts file_body
31
- tmp_file.close
32
- expect(File).to exist(tmp_file.path)
33
- expect(File.stat(tmp_file.path)).not_to be_zero
34
- expect(File.delete(tmp_file.path)).to be(1)
35
- expect(File).not_to exist(tmp_file.path)
36
- end
37
- end
38
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::CalculoData do
6
- it 'Calcula o fator de vencimento' do
7
- expect((Date.parse '2008-02-01').fator_vencimento).to eq('3769')
8
- expect((Date.parse '2008-02-02').fator_vencimento).to eq('3770')
9
- expect((Date.parse '2008-02-06').fator_vencimento).to eq('3774')
10
- expect((Date.parse '03/07/2000').fator_vencimento).to eq('1000')
11
- expect((Date.parse '04/07/2000').fator_vencimento).to eq('1001')
12
- expect((Date.parse '05/07/2000').fator_vencimento).to eq('1002')
13
- expect((Date.parse '01/05/2002').fator_vencimento).to eq('1667')
14
- expect((Date.parse '17/11/2010').fator_vencimento).to eq('4789')
15
- expect((Date.parse '21/02/2025').fator_vencimento).to eq('9999')
16
- expect((Date.parse '22/02/2025').fator_vencimento).to eq('1000')
17
- expect((Date.parse '23/02/2025').fator_vencimento).to eq('1001')
18
- end
19
-
20
- it 'Formata a data no padrão visual brasileiro' do
21
- expect((Date.parse '2008-02-01').to_s_br).to eq('01/02/2008')
22
- expect((Date.parse '2008-02-02').to_s_br).to eq('02/02/2008')
23
- expect((Date.parse '2008-02-06').to_s_br).to eq('06/02/2008')
24
- end
25
-
26
- it 'Calcula data juliana' do
27
- expect((Date.parse '2009-02-11').to_juliano).to eql('0429')
28
- expect((Date.parse '2008-02-11').to_juliano).to eql('0428')
29
- expect((Date.parse '2009-04-08').to_juliano).to eql('0989')
30
- # Ano 2008 eh bisexto
31
- expect((Date.parse '2008-04-08').to_juliano).to eql('0998')
32
- end
33
- end