brcobranca 2.0.6 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +30 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +48 -0
- data/History.txt +13 -1
- data/LICENSE +20 -0
- data/README.rdoc +12 -5
- data/Rakefile +33 -37
- data/VERSION +1 -0
- data/brcobranca.gemspec +26 -35
- data/lib/brcobranca/arquivos/logos/{bb.jpg → bancobrasil.jpg} +0 -0
- data/lib/brcobranca/arquivos/logos/banespa.jpg +0 -0
- data/lib/brcobranca/arquivos/logos/caixa.jpg +0 -0
- data/lib/brcobranca/boleto/banco_brasil.rb +150 -77
- data/lib/brcobranca/boleto/base.rb +146 -75
- data/lib/brcobranca/boleto/bradesco.rb +69 -0
- data/lib/brcobranca/boleto/caixa.rb +100 -0
- data/lib/brcobranca/boleto/hsbc.rb +95 -0
- data/lib/brcobranca/boleto/itau.rb +133 -0
- data/lib/brcobranca/boleto/real.rb +74 -0
- data/lib/brcobranca/boleto/template/base.rb +13 -0
- data/lib/brcobranca/boleto/template/rghost.rb +136 -62
- data/lib/brcobranca/boleto/unibanco.rb +115 -0
- data/lib/brcobranca/calculo.rb +132 -0
- data/lib/brcobranca/calculo_data.rb +42 -0
- data/lib/brcobranca/currency.rb +3 -4
- data/lib/brcobranca/formatacao.rb +102 -0
- data/lib/brcobranca/limpeza.rb +19 -0
- data/lib/brcobranca/retorno/base.rb +1 -2
- data/lib/brcobranca/retorno/retorno_cbr643.rb +42 -40
- data/lib/brcobranca/version.rb +3 -0
- data/lib/brcobranca.rb +93 -16
- data/spec/brcobranca/banco_bradesco_spec.rb +63 -50
- data/spec/brcobranca/banco_brasil_spec.rb +102 -136
- data/spec/brcobranca/banco_caixa_spec.rb +166 -0
- data/spec/brcobranca/banco_hsbc_spec.rb +83 -76
- data/spec/brcobranca/banco_real_spec.rb +54 -37
- data/spec/brcobranca/banco_unibanco_spec.rb +69 -52
- data/spec/brcobranca/base_spec.rb +24 -79
- data/spec/brcobranca/boletos_em_lote_spec.rb +46 -0
- data/spec/brcobranca/core_ext_spec.rb +24 -114
- data/spec/brcobranca/currency_spec.rb +1 -0
- data/spec/brcobranca/{banco_itau_spec.rb → itau_spec.rb} +112 -67
- data/spec/brcobranca/retorno_cbr643_spec.rb +13 -12
- data/spec/brcobranca/rghost_spec.rb +8 -7
- data/spec/brcobranca_spec.rb +16 -6
- data/spec/spec_helper.rb +11 -8
- metadata +107 -58
- data/Manifest.txt +0 -51
- data/PostInstall.txt +0 -4
- data/lib/brcobranca/boleto/banco_banespa.rb +0 -85
- data/lib/brcobranca/boleto/banco_bradesco.rb +0 -44
- data/lib/brcobranca/boleto/banco_hsbc.rb +0 -77
- data/lib/brcobranca/boleto/banco_itau.rb +0 -115
- data/lib/brcobranca/boleto/banco_real.rb +0 -70
- data/lib/brcobranca/boleto/banco_unibanco.rb +0 -79
- data/lib/brcobranca/boleto/template/util.rb +0 -32
- data/lib/brcobranca/config.rb +0 -9
- data/lib/brcobranca/core_ext.rb +0 -279
- data/spec/brcobranca/banco_banespa_spec.rb +0 -195
- data/spec/brcobranca/template/rghost_spec.rb +0 -65
- data/spec/brcobranca/template/util_spec.rb +0 -42
- data/spec/rcov.opts +0 -2
- data/spec/spec.opts +0 -6
- data/tasks/rcov.rake +0 -12
- data/tasks/rspec.rake +0 -21
@@ -1,6 +1,7 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
3
|
|
3
|
-
describe
|
4
|
+
describe Brcobranca::Boleto::Hsbc do
|
4
5
|
|
5
6
|
before(:each) do
|
6
7
|
@valid_attributes = {
|
@@ -24,8 +25,8 @@ describe BancoHsbc do
|
|
24
25
|
end
|
25
26
|
|
26
27
|
|
27
|
-
it "
|
28
|
-
boleto_novo =
|
28
|
+
it "Criar nova instancia com atributos padrões" do
|
29
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new
|
29
30
|
boleto_novo.banco.should eql("399")
|
30
31
|
boleto_novo.especie_documento.should eql("DM")
|
31
32
|
boleto_novo.especie.should eql("R$")
|
@@ -39,11 +40,11 @@ describe BancoHsbc do
|
|
39
40
|
boleto_novo.valor_documento.should eql(0.0)
|
40
41
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
41
42
|
boleto_novo.carteira.should eql("CNR")
|
42
|
-
|
43
|
+
|
43
44
|
end
|
44
45
|
|
45
|
-
it "
|
46
|
-
boleto_novo =
|
46
|
+
it "Criar nova instancia com atributos válidos" do
|
47
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
47
48
|
boleto_novo.banco.should eql("399")
|
48
49
|
boleto_novo.especie_documento.should eql("DM")
|
49
50
|
boleto_novo.especie.should eql("R$")
|
@@ -60,25 +61,24 @@ describe BancoHsbc do
|
|
60
61
|
boleto_novo.documento_cedente.should eql("12345678912")
|
61
62
|
boleto_novo.sacado.should eql("Claudio Pozzebom")
|
62
63
|
boleto_novo.sacado_documento.should eql("12345678900")
|
63
|
-
boleto_novo.conta_corrente.should eql("
|
64
|
+
boleto_novo.conta_corrente.should eql("0061900")
|
64
65
|
boleto_novo.agencia.should eql("4042")
|
65
66
|
boleto_novo.convenio.should eql(12387989)
|
66
|
-
boleto_novo.numero_documento.should eql("
|
67
|
+
boleto_novo.numero_documento.should eql("0000777700168")
|
67
68
|
boleto_novo.carteira.should eql("CNR")
|
68
|
-
boleto_novo.should be_instance_of(BancoHsbc)
|
69
69
|
end
|
70
70
|
|
71
|
-
it "
|
71
|
+
it "Gerar boleto" do
|
72
72
|
@valid_attributes[:valor] = 2952.95
|
73
73
|
@valid_attributes[:data_documento] = Date.parse("2009-04-03")
|
74
74
|
@valid_attributes[:dias_vencimento] = 5
|
75
75
|
@valid_attributes[:numero_documento] = "12345678"
|
76
76
|
@valid_attributes[:conta_corrente] = "1122334"
|
77
|
-
boleto_novo =
|
78
|
-
|
79
|
-
boleto_novo.
|
77
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
78
|
+
|
79
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("1122334000001234567809892")
|
80
80
|
boleto_novo.codigo_barras.should eql("39998420100002952951122334000001234567809892")
|
81
|
-
boleto_novo.codigo_barras.linha_digitavel.should eql("39991.12232 34000.001239 45678.098927 8 42010000295295")
|
81
|
+
boleto_novo.codigo_barras.linha_digitavel.should eql("39991.12232 34000.001239 45678.098927 8 42010000295295")
|
82
82
|
|
83
83
|
@valid_attributes[:valor] = 934.23
|
84
84
|
@valid_attributes[:data_documento] = Date.parse("2004-09-03")
|
@@ -86,123 +86,130 @@ describe BancoHsbc do
|
|
86
86
|
@valid_attributes[:numero_documento] = "07778899"
|
87
87
|
@valid_attributes[:conta_corrente] = "0016324"
|
88
88
|
@valid_attributes[:agencia] = "1234"
|
89
|
-
boleto_novo =
|
90
|
-
|
91
|
-
boleto_novo.
|
89
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
90
|
+
|
91
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("0016324000000777889924742")
|
92
92
|
boleto_novo.codigo_barras.should eql("39993252300000934230016324000000777889924742")
|
93
93
|
boleto_novo.codigo_barras.linha_digitavel.should eql("39990.01633 24000.000778 78899.247429 3 25230000093423")
|
94
94
|
end
|
95
|
-
|
96
|
-
it "
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
@valid_attributes[:numero_documento] = "07778899"
|
101
|
-
@valid_attributes[:conta_corrente] = "0016324"
|
102
|
-
@valid_attributes[:agencia] = "1234"
|
103
|
-
boleto_novo = BancoHsbc.new(@valid_attributes)
|
104
|
-
boleto_novo.should be_instance_of(BancoHsbc)
|
105
|
-
boleto_novo.monta_codigo_43_digitos.should be_nil
|
106
|
-
boleto_novo.codigo_barras.should be_nil
|
107
|
-
|
108
|
-
@valid_attributes[:valor] = 934.23
|
109
|
-
@valid_attributes[:data_documento] = Date.parse("2004-09-03")
|
110
|
-
@valid_attributes[:dias_vencimento] = 0
|
111
|
-
@valid_attributes[:numero_documento] = "07778899"
|
112
|
-
@valid_attributes[:conta_corrente] = "0016324"
|
113
|
-
@valid_attributes[:agencia] = "1234"
|
114
|
-
@valid_attributes[:carteira] = "OUTRA"
|
115
|
-
boleto_novo = BancoHsbc.new(@valid_attributes)
|
116
|
-
boleto_novo.should be_instance_of(BancoHsbc)
|
117
|
-
boleto_novo.monta_codigo_43_digitos.should be_nil
|
118
|
-
boleto_novo.codigo_barras.should be_nil
|
95
|
+
|
96
|
+
it "Não permitir gerar boleto com atributos inválido" do
|
97
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new
|
98
|
+
lambda { boleto_novo.codigo_barras }.should raise_error(Brcobranca::BoletoInvalido)
|
99
|
+
boleto_novo.errors.count.should eql(3)
|
119
100
|
end
|
120
101
|
|
121
|
-
it "
|
102
|
+
it "Montar nosso número" do
|
122
103
|
@valid_attributes[:data_documento] = Date.parse("2000-07-04")
|
123
104
|
@valid_attributes[:dias_vencimento] = 5
|
124
105
|
@valid_attributes[:numero_documento] = "12345678"
|
125
106
|
@valid_attributes[:conta_corrente] = "1122334"
|
126
|
-
boleto_novo =
|
127
|
-
|
128
|
-
boleto_novo.nosso_numero.should eql("
|
107
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
108
|
+
|
109
|
+
boleto_novo.nosso_numero.should eql("0000012345678942")
|
129
110
|
|
130
111
|
@valid_attributes[:data_documento] = Date.parse("2000-07-04")
|
131
112
|
@valid_attributes[:dias_vencimento] = 0
|
132
113
|
@valid_attributes[:numero_documento] = "39104766"
|
133
114
|
@valid_attributes[:conta_corrente] = "351202"
|
134
|
-
boleto_novo =
|
135
|
-
|
136
|
-
boleto_novo.nosso_numero.should eql("
|
115
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
116
|
+
|
117
|
+
boleto_novo.nosso_numero.should eql("0000039104766340")
|
137
118
|
|
138
119
|
@valid_attributes[:data_documento] = Date.parse("2009-04-03")
|
139
120
|
@valid_attributes[:dias_vencimento] = 0
|
140
121
|
@valid_attributes[:numero_documento] = "39104766"
|
141
122
|
@valid_attributes[:conta_corrente] = "351202"
|
142
|
-
boleto_novo =
|
143
|
-
|
144
|
-
boleto_novo.nosso_numero.should eql("
|
145
|
-
|
123
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
124
|
+
|
125
|
+
boleto_novo.nosso_numero.should eql("0000039104766346")
|
126
|
+
|
146
127
|
@valid_attributes[:data_documento] = nil
|
147
128
|
@valid_attributes[:dias_vencimento] = 0
|
148
129
|
@valid_attributes[:numero_documento] = "39104766"
|
149
130
|
@valid_attributes[:conta_corrente] = "351202"
|
150
|
-
boleto_novo =
|
151
|
-
|
152
|
-
boleto_novo.nosso_numero.should
|
131
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
132
|
+
|
133
|
+
lambda { boleto_novo.nosso_numero }.should raise_error(ArgumentError)
|
153
134
|
end
|
154
|
-
|
155
|
-
it "
|
135
|
+
|
136
|
+
it "Montar nosso_numero_boleto" do
|
156
137
|
@valid_attributes[:data_documento] = Date.parse("2009-08-14")
|
157
|
-
boleto_novo =
|
158
|
-
|
138
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
139
|
+
|
159
140
|
boleto_novo.numero_documento = "4042"
|
160
141
|
boleto_novo.carteira = "06"
|
161
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
142
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000004042847")
|
162
143
|
boleto_novo.nosso_numero_dv.should eql(8)
|
163
144
|
boleto_novo.numero_documento = "61900"
|
164
145
|
boleto_novo.carteira = "05"
|
165
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
146
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000061900049")
|
166
147
|
boleto_novo.nosso_numero_dv.should eql(0)
|
167
148
|
boleto_novo.numero_documento = "0719"
|
168
149
|
boleto_novo.carteira = "07"
|
169
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
150
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000000719640")
|
170
151
|
boleto_novo.nosso_numero_dv.should eql(6)
|
171
152
|
boleto_novo.numero_documento = 4042
|
172
153
|
boleto_novo.carteira = "06"
|
173
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
154
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000004042847")
|
174
155
|
boleto_novo.nosso_numero_dv.should eql(8)
|
175
156
|
boleto_novo.numero_documento = 61900
|
176
157
|
boleto_novo.carteira = "05"
|
177
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
158
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000061900049")
|
178
159
|
boleto_novo.nosso_numero_dv.should eql(0)
|
179
160
|
boleto_novo.numero_documento = 719
|
180
161
|
boleto_novo.carteira = "07"
|
181
|
-
boleto_novo.nosso_numero_boleto.should eql("
|
162
|
+
boleto_novo.nosso_numero_boleto.should eql("0000000000719640")
|
182
163
|
boleto_novo.nosso_numero_dv.should eql(6)
|
183
164
|
end
|
184
165
|
|
185
|
-
it "
|
186
|
-
boleto_novo =
|
187
|
-
|
188
|
-
boleto_novo.agencia_conta_boleto.should eql("
|
166
|
+
it "Montar agencia_conta_boleto" do
|
167
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
168
|
+
|
169
|
+
boleto_novo.agencia_conta_boleto.should eql("0061900")
|
189
170
|
boleto_novo.agencia = "0719"
|
190
|
-
boleto_novo.agencia_conta_boleto.should eql("
|
171
|
+
boleto_novo.agencia_conta_boleto.should eql("0061900")
|
191
172
|
boleto_novo.agencia = "0548"
|
192
173
|
boleto_novo.conta_corrente = "1448"
|
193
|
-
boleto_novo.agencia_conta_boleto.should eql("
|
174
|
+
boleto_novo.agencia_conta_boleto.should eql("0001448")
|
175
|
+
end
|
176
|
+
|
177
|
+
it "Busca logotipo do banco" do
|
178
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new
|
179
|
+
File.exist?(boleto_novo.logotipo).should be_true
|
180
|
+
File.stat(boleto_novo.logotipo).zero?.should be_false
|
181
|
+
end
|
182
|
+
|
183
|
+
it "Gerar boleto nos formatos válidos com método to_" do
|
184
|
+
@valid_attributes[:valor] = 2952.95
|
185
|
+
@valid_attributes[:data_documento] = Date.parse("2009-04-03")
|
186
|
+
@valid_attributes[:dias_vencimento] = 5
|
187
|
+
@valid_attributes[:numero_documento] = "12345678"
|
188
|
+
@valid_attributes[:conta_corrente] = "1122334"
|
189
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
190
|
+
|
191
|
+
%w| pdf jpg tif png ps |.each do |format|
|
192
|
+
file_body=boleto_novo.send("to_#{format}".to_sym)
|
193
|
+
tmp_file=Tempfile.new("foobar." << format)
|
194
|
+
tmp_file.puts file_body
|
195
|
+
tmp_file.close
|
196
|
+
File.exist?(tmp_file.path).should be_true
|
197
|
+
File.stat(tmp_file.path).zero?.should be_false
|
198
|
+
File.delete(tmp_file.path).should eql(1)
|
199
|
+
File.exist?(tmp_file.path).should be_false
|
200
|
+
end
|
194
201
|
end
|
195
|
-
|
196
|
-
it "
|
202
|
+
|
203
|
+
it "Gerar boleto nos formatos válidos" do
|
197
204
|
@valid_attributes[:valor] = 2952.95
|
198
205
|
@valid_attributes[:data_documento] = Date.parse("2009-04-03")
|
199
206
|
@valid_attributes[:dias_vencimento] = 5
|
200
207
|
@valid_attributes[:numero_documento] = "12345678"
|
201
208
|
@valid_attributes[:conta_corrente] = "1122334"
|
202
|
-
boleto_novo =
|
203
|
-
|
209
|
+
boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
|
210
|
+
|
204
211
|
%w| pdf jpg tif png ps |.each do |format|
|
205
|
-
file_body=boleto_novo.to(format
|
212
|
+
file_body=boleto_novo.to(format)
|
206
213
|
tmp_file=Tempfile.new("foobar." << format)
|
207
214
|
tmp_file.puts file_body
|
208
215
|
tmp_file.close
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
3
|
|
3
|
-
describe
|
4
|
+
describe Brcobranca::Boleto::Real do
|
4
5
|
before(:each) do
|
5
6
|
@valid_attributes = {
|
6
7
|
:especie_documento => "DM",
|
@@ -22,8 +23,8 @@ describe BancoReal do
|
|
22
23
|
}
|
23
24
|
end
|
24
25
|
|
25
|
-
it "
|
26
|
-
boleto_novo =
|
26
|
+
it "Criar nova instancia com atributos padrões" do
|
27
|
+
boleto_novo = Brcobranca::Boleto::Real.new
|
27
28
|
boleto_novo.banco.should eql("356")
|
28
29
|
boleto_novo.especie_documento.should eql("DM")
|
29
30
|
boleto_novo.especie.should eql("R$")
|
@@ -37,11 +38,11 @@ describe BancoReal do
|
|
37
38
|
boleto_novo.valor_documento.should eql(0.0)
|
38
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
39
40
|
boleto_novo.carteira.should eql("57")
|
40
|
-
|
41
|
+
|
41
42
|
end
|
42
43
|
|
43
|
-
it "
|
44
|
-
boleto_novo =
|
44
|
+
it "Criar nova instancia com atributos válidos" do
|
45
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
45
46
|
boleto_novo.banco.should eql("356")
|
46
47
|
boleto_novo.especie_documento.should eql("DM")
|
47
48
|
boleto_novo.especie.should eql("R$")
|
@@ -58,38 +59,37 @@ describe BancoReal do
|
|
58
59
|
boleto_novo.documento_cedente.should eql("12345678912")
|
59
60
|
boleto_novo.sacado.should eql("Claudio Pozzebom")
|
60
61
|
boleto_novo.sacado_documento.should eql("12345678900")
|
61
|
-
boleto_novo.conta_corrente.should eql("
|
62
|
+
boleto_novo.conta_corrente.should eql("0061900")
|
62
63
|
boleto_novo.agencia.should eql("4042")
|
63
64
|
boleto_novo.convenio.should eql(12387989)
|
64
|
-
boleto_novo.numero_documento.should eql("
|
65
|
+
boleto_novo.numero_documento.should eql("0000777700168")
|
65
66
|
boleto_novo.carteira.should eql("57")
|
66
|
-
boleto_novo.should be_instance_of(BancoReal)
|
67
67
|
end
|
68
68
|
|
69
|
-
it "
|
69
|
+
it "Gerar boleto para carteira registrada" do
|
70
70
|
@valid_attributes[:valor] = 135.00
|
71
71
|
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
72
72
|
@valid_attributes[:dias_vencimento] = 0
|
73
73
|
@valid_attributes[:numero_documento] = "7701684"
|
74
74
|
@valid_attributes[:carteira] = "56"
|
75
|
-
boleto_novo =
|
76
|
-
|
75
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
76
|
+
|
77
77
|
boleto_novo.agencia_conta_corrente_nosso_numero_dv.should eql(8)
|
78
|
-
boleto_novo.
|
78
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("0000004042006190087701684")
|
79
79
|
boleto_novo.codigo_barras.should eql("35691376900000135000000004042006190087701684")
|
80
|
-
boleto_novo.codigo_barras.linha_digitavel.should eql("35690.00007 04042.006199 00877.016840 1 37690000013500")
|
80
|
+
boleto_novo.codigo_barras.linha_digitavel.should eql("35690.00007 04042.006199 00877.016840 1 37690000013500")
|
81
81
|
end
|
82
82
|
|
83
|
-
it "
|
83
|
+
it "Gerar boleto pra carteiras sem registro" do
|
84
84
|
@valid_attributes[:valor] = 135.00
|
85
85
|
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
86
86
|
@valid_attributes[:dias_vencimento] = 1
|
87
87
|
@valid_attributes[:numero_documento] = "777700168"
|
88
88
|
@valid_attributes[:carteira] = "57"
|
89
|
-
boleto_novo =
|
90
|
-
|
89
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
90
|
+
|
91
91
|
boleto_novo.agencia_conta_corrente_nosso_numero_dv.should eql(3)
|
92
|
-
boleto_novo.
|
92
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("4042006190030000777700168")
|
93
93
|
boleto_novo.codigo_barras.should eql("35692377000000135004042006190030000777700168")
|
94
94
|
boleto_novo.codigo_barras.linha_digitavel.should eql("35694.04209 06190.030004 07777.001681 2 37700000013500")
|
95
95
|
|
@@ -100,39 +100,56 @@ describe BancoReal do
|
|
100
100
|
@valid_attributes[:carteira] = "57"
|
101
101
|
@valid_attributes[:conta_corrente] = "0016324"
|
102
102
|
@valid_attributes[:agencia] = "1018"
|
103
|
-
boleto_novo =
|
104
|
-
|
103
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
104
|
+
|
105
105
|
boleto_novo.agencia_conta_corrente_nosso_numero_dv.should eql(9)
|
106
|
-
boleto_novo.
|
106
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("1018001632490000000005020")
|
107
107
|
boleto_novo.codigo_barras.should eql("35697252300000934231018001632490000000005020")
|
108
108
|
boleto_novo.codigo_barras.linha_digitavel.should eql("35691.01805 01632.490007 00000.050203 7 25230000093423")
|
109
109
|
end
|
110
110
|
|
111
|
-
it "
|
112
|
-
|
113
|
-
|
111
|
+
it "Não permitir gerar boleto com atributos inválido" do
|
112
|
+
boleto_novo = Brcobranca::Boleto::Real.new(:numero_documento => "18030299444444444401")
|
113
|
+
lambda { boleto_novo.codigo_barras }.should raise_error(Brcobranca::BoletoInvalido)
|
114
|
+
boleto_novo.errors.count.should eql(3)
|
115
|
+
end
|
116
|
+
|
117
|
+
it "Busca logotipo do banco" do
|
118
|
+
boleto_novo = Brcobranca::Boleto::Real.new
|
119
|
+
File.exist?(boleto_novo.logotipo).should be_true
|
120
|
+
File.stat(boleto_novo.logotipo).zero?.should be_false
|
121
|
+
end
|
122
|
+
|
123
|
+
it "Gerar boleto nos formatos válidos com método to_" do
|
124
|
+
@valid_attributes[:valor] = 135.00
|
125
|
+
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
114
126
|
@valid_attributes[:dias_vencimento] = 0
|
115
|
-
@valid_attributes[:numero_documento] = ""
|
116
|
-
@valid_attributes[:carteira] = ""
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
127
|
+
@valid_attributes[:numero_documento] = "7701684"
|
128
|
+
@valid_attributes[:carteira] = "56"
|
129
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
130
|
+
|
131
|
+
%w| pdf jpg tif png ps |.each do |format|
|
132
|
+
file_body=boleto_novo.send("to_#{format}".to_sym)
|
133
|
+
tmp_file=Tempfile.new("foobar." << format)
|
134
|
+
tmp_file.puts file_body
|
135
|
+
tmp_file.close
|
136
|
+
File.exist?(tmp_file.path).should be_true
|
137
|
+
File.stat(tmp_file.path).zero?.should be_false
|
138
|
+
File.delete(tmp_file.path).should eql(1)
|
139
|
+
File.exist?(tmp_file.path).should be_false
|
140
|
+
end
|
124
141
|
end
|
125
142
|
|
126
|
-
it "
|
143
|
+
it "Gerar boleto nos formatos válidos" do
|
127
144
|
@valid_attributes[:valor] = 135.00
|
128
145
|
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
129
146
|
@valid_attributes[:dias_vencimento] = 0
|
130
147
|
@valid_attributes[:numero_documento] = "7701684"
|
131
148
|
@valid_attributes[:carteira] = "56"
|
132
|
-
boleto_novo =
|
133
|
-
|
149
|
+
boleto_novo = Brcobranca::Boleto::Real.new(@valid_attributes)
|
150
|
+
|
134
151
|
%w| pdf jpg tif png ps |.each do |format|
|
135
|
-
file_body=boleto_novo.to(format
|
152
|
+
file_body=boleto_novo.to(format)
|
136
153
|
tmp_file=Tempfile.new("foobar." << format)
|
137
154
|
tmp_file.puts file_body
|
138
155
|
tmp_file.close
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
3
|
|
3
|
-
describe
|
4
|
+
describe Brcobranca::Boleto::Unibanco do
|
4
5
|
before(:each) do
|
5
6
|
@valid_attributes = {
|
6
7
|
:especie_documento => "DM",
|
@@ -17,13 +18,13 @@ describe BancoUnibanco do
|
|
17
18
|
:sacado_documento => "12345678900",
|
18
19
|
:agencia => "4042",
|
19
20
|
:conta_corrente => "61900",
|
20
|
-
:convenio =>
|
21
|
+
:convenio => 2031671,
|
21
22
|
:numero_documento => "777700168"
|
22
23
|
}
|
23
24
|
end
|
24
25
|
|
25
|
-
it "
|
26
|
-
boleto_novo =
|
26
|
+
it "Criar nova instancia com atributos padrões" do
|
27
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new
|
27
28
|
boleto_novo.banco.should eql("409")
|
28
29
|
boleto_novo.especie_documento.should eql("DM")
|
29
30
|
boleto_novo.especie.should eql("R$")
|
@@ -37,11 +38,11 @@ describe BancoUnibanco do
|
|
37
38
|
boleto_novo.valor_documento.should eql(0.0)
|
38
39
|
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
39
40
|
boleto_novo.carteira.should eql("5")
|
40
|
-
|
41
|
+
|
41
42
|
end
|
42
43
|
|
43
|
-
it "
|
44
|
-
boleto_novo =
|
44
|
+
it "Criar nova instancia com atributos válidos" do
|
45
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
45
46
|
boleto_novo.banco.should eql("409")
|
46
47
|
boleto_novo.especie_documento.should eql("DM")
|
47
48
|
boleto_novo.especie.should eql("R$")
|
@@ -58,15 +59,15 @@ describe BancoUnibanco do
|
|
58
59
|
boleto_novo.documento_cedente.should eql("12345678912")
|
59
60
|
boleto_novo.sacado.should eql("Claudio Pozzebom")
|
60
61
|
boleto_novo.sacado_documento.should eql("12345678900")
|
61
|
-
boleto_novo.conta_corrente.should eql("
|
62
|
+
boleto_novo.conta_corrente.should eql("0061900")
|
62
63
|
boleto_novo.agencia.should eql("4042")
|
63
|
-
boleto_novo.convenio.should eql(
|
64
|
-
boleto_novo.numero_documento.should eql("
|
64
|
+
boleto_novo.convenio.should eql("2031671")
|
65
|
+
boleto_novo.numero_documento.should eql("00000777700168")
|
65
66
|
boleto_novo.carteira.should eql("5")
|
66
|
-
|
67
|
+
|
67
68
|
end
|
68
69
|
|
69
|
-
it "
|
70
|
+
it "Gerar boleto para carteira registrada" do
|
70
71
|
@valid_attributes[:valor] = 2952.95
|
71
72
|
@valid_attributes[:data_documento] = Date.parse("2009-04-30")
|
72
73
|
@valid_attributes[:dias_vencimento] = 0
|
@@ -75,50 +76,39 @@ describe BancoUnibanco do
|
|
75
76
|
@valid_attributes[:conta_corrente] = "100618"
|
76
77
|
@valid_attributes[:agencia] = "0123"
|
77
78
|
@valid_attributes[:convenio] = 2031671
|
78
|
-
boleto_novo =
|
79
|
-
|
79
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
80
|
+
|
80
81
|
boleto_novo.nosso_numero_dv.should eql(5)
|
81
|
-
boleto_novo.
|
82
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("0409043001236018030299015")
|
82
83
|
boleto_novo.codigo_barras.should eql("40997422300002952950409043001236018030299015")
|
83
|
-
boleto_novo.codigo_barras.linha_digitavel.should eql("40990.40901 43001.236017 80302.990157 7 42230000295295")
|
84
|
+
boleto_novo.codigo_barras.linha_digitavel.should eql("40990.40901 43001.236017 80302.990157 7 42230000295295")
|
84
85
|
end
|
85
86
|
|
86
|
-
it "
|
87
|
+
it "Gerar boleto para carteira sem registro" do
|
87
88
|
@valid_attributes[:valor] = 2952.95
|
88
89
|
@valid_attributes[:data_documento] = Date.parse("2009-04-30")
|
89
90
|
@valid_attributes[:dias_vencimento] = 0
|
90
|
-
@valid_attributes[:numero_documento] = "1803029901"
|
91
91
|
@valid_attributes[:carteira] = "5"
|
92
|
+
@valid_attributes[:numero_documento] = "1803029901"
|
92
93
|
@valid_attributes[:conta_corrente] = "100618"
|
93
94
|
@valid_attributes[:agencia] = "0123"
|
94
|
-
|
95
|
-
|
96
|
-
boleto_novo.should be_instance_of(BancoUnibanco)
|
95
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
96
|
+
|
97
97
|
boleto_novo.nosso_numero_dv.should eql(5)
|
98
|
-
boleto_novo.
|
98
|
+
boleto_novo.codigo_barras_segunda_parte.should eql("5203167100000018030299015")
|
99
99
|
boleto_novo.codigo_barras.should eql("40995422300002952955203167100000018030299015")
|
100
100
|
boleto_novo.codigo_barras.linha_digitavel.should eql("40995.20316 67100.000016 80302.990157 5 42230000295295")
|
101
101
|
end
|
102
102
|
|
103
|
-
it "
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
@valid_attributes[:numero_documento] = ""
|
108
|
-
@valid_attributes[:carteira] = ""
|
109
|
-
@valid_attributes[:conta_corrente] = ""
|
110
|
-
@valid_attributes[:agencia] = ""
|
111
|
-
boleto_novo = BancoUnibanco.new(@valid_attributes)
|
112
|
-
boleto_novo.should be_instance_of(BancoUnibanco)
|
113
|
-
lambda { boleto_novo.nosso_numero_dv }.should raise_error(ArgumentError)
|
114
|
-
|
115
|
-
boleto_novo.monta_codigo_43_digitos.should be_nil
|
116
|
-
boleto_novo.codigo_barras.should be_nil
|
103
|
+
it "Não permitir gerar boleto com atributos inválido" do
|
104
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(:numero_documento => "18030299444444444401")
|
105
|
+
lambda { boleto_novo.codigo_barras }.should raise_error(Brcobranca::BoletoInvalido)
|
106
|
+
boleto_novo.errors.count.should eql(3)
|
117
107
|
end
|
118
|
-
|
119
|
-
it "
|
120
|
-
boleto_novo =
|
121
|
-
|
108
|
+
|
109
|
+
it "Montar nosso_numero_boleto" do
|
110
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
111
|
+
|
122
112
|
boleto_novo.numero_documento = "85068014982"
|
123
113
|
boleto_novo.nosso_numero_boleto.should eql("00085068014982-9")
|
124
114
|
boleto_novo.nosso_numero_dv.should eql(9)
|
@@ -156,19 +146,25 @@ describe BancoUnibanco do
|
|
156
146
|
boleto_novo.nosso_numero_boleto.should eql("00000000000719-6")
|
157
147
|
boleto_novo.nosso_numero_dv.should eql(6)
|
158
148
|
end
|
159
|
-
|
160
|
-
it "
|
149
|
+
|
150
|
+
it "Montar agencia_conta_boleto" do
|
161
151
|
@valid_attributes[:conta_corrente] = "100618"
|
162
152
|
@valid_attributes[:agencia] = "0123"
|
163
|
-
boleto_novo =
|
164
|
-
|
165
|
-
boleto_novo.agencia_conta_boleto.should eql("0123 /
|
153
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
154
|
+
|
155
|
+
boleto_novo.agencia_conta_boleto.should eql("0123 / 0100618-5")
|
166
156
|
boleto_novo.agencia = "0548"
|
167
157
|
boleto_novo.conta_corrente = "1448"
|
168
|
-
boleto_novo.agencia_conta_boleto.should eql("0548 /
|
158
|
+
boleto_novo.agencia_conta_boleto.should eql("0548 / 0001448-6")
|
159
|
+
end
|
160
|
+
|
161
|
+
it "Busca logotipo do banco" do
|
162
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new
|
163
|
+
File.exist?(boleto_novo.logotipo).should be_true
|
164
|
+
File.stat(boleto_novo.logotipo).zero?.should be_false
|
169
165
|
end
|
170
|
-
|
171
|
-
it "
|
166
|
+
|
167
|
+
it "Gerar boleto nos formatos válidos com método to_" do
|
172
168
|
@valid_attributes[:valor] = 2952.95
|
173
169
|
@valid_attributes[:data_documento] = Date.parse("2009-04-30")
|
174
170
|
@valid_attributes[:dias_vencimento] = 0
|
@@ -176,11 +172,32 @@ describe BancoUnibanco do
|
|
176
172
|
@valid_attributes[:carteira] = "4"
|
177
173
|
@valid_attributes[:conta_corrente] = "100618"
|
178
174
|
@valid_attributes[:agencia] = "0123"
|
179
|
-
|
180
|
-
|
181
|
-
|
175
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
176
|
+
|
177
|
+
%w| pdf jpg tif png ps |.each do |format|
|
178
|
+
file_body=boleto_novo.send("to_#{format}".to_sym)
|
179
|
+
tmp_file=Tempfile.new("foobar." << format)
|
180
|
+
tmp_file.puts file_body
|
181
|
+
tmp_file.close
|
182
|
+
File.exist?(tmp_file.path).should be_true
|
183
|
+
File.stat(tmp_file.path).zero?.should be_false
|
184
|
+
File.delete(tmp_file.path).should eql(1)
|
185
|
+
File.exist?(tmp_file.path).should be_false
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
it "Gerar boleto nos formatos válidos" do
|
190
|
+
@valid_attributes[:valor] = 2952.95
|
191
|
+
@valid_attributes[:data_documento] = Date.parse("2009-04-30")
|
192
|
+
@valid_attributes[:dias_vencimento] = 0
|
193
|
+
@valid_attributes[:numero_documento] = "1803029901"
|
194
|
+
@valid_attributes[:carteira] = "4"
|
195
|
+
@valid_attributes[:conta_corrente] = "100618"
|
196
|
+
@valid_attributes[:agencia] = "0123"
|
197
|
+
boleto_novo = Brcobranca::Boleto::Unibanco.new(@valid_attributes)
|
198
|
+
|
182
199
|
%w| pdf jpg tif png ps |.each do |format|
|
183
|
-
file_body=boleto_novo.to(format
|
200
|
+
file_body=boleto_novo.to(format)
|
184
201
|
tmp_file=Tempfile.new("foobar." << format)
|
185
202
|
tmp_file.puts file_body
|
186
203
|
tmp_file.close
|