brcobranca 2.0.6 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/.document +5 -0
  2. data/.gitignore +30 -0
  3. data/Gemfile +11 -0
  4. data/Gemfile.lock +48 -0
  5. data/History.txt +13 -1
  6. data/LICENSE +20 -0
  7. data/README.rdoc +12 -5
  8. data/Rakefile +33 -37
  9. data/VERSION +1 -0
  10. data/brcobranca.gemspec +26 -35
  11. data/lib/brcobranca/arquivos/logos/{bb.jpg → bancobrasil.jpg} +0 -0
  12. data/lib/brcobranca/arquivos/logos/banespa.jpg +0 -0
  13. data/lib/brcobranca/arquivos/logos/caixa.jpg +0 -0
  14. data/lib/brcobranca/boleto/banco_brasil.rb +150 -77
  15. data/lib/brcobranca/boleto/base.rb +146 -75
  16. data/lib/brcobranca/boleto/bradesco.rb +69 -0
  17. data/lib/brcobranca/boleto/caixa.rb +100 -0
  18. data/lib/brcobranca/boleto/hsbc.rb +95 -0
  19. data/lib/brcobranca/boleto/itau.rb +133 -0
  20. data/lib/brcobranca/boleto/real.rb +74 -0
  21. data/lib/brcobranca/boleto/template/base.rb +13 -0
  22. data/lib/brcobranca/boleto/template/rghost.rb +136 -62
  23. data/lib/brcobranca/boleto/unibanco.rb +115 -0
  24. data/lib/brcobranca/calculo.rb +132 -0
  25. data/lib/brcobranca/calculo_data.rb +42 -0
  26. data/lib/brcobranca/currency.rb +3 -4
  27. data/lib/brcobranca/formatacao.rb +102 -0
  28. data/lib/brcobranca/limpeza.rb +19 -0
  29. data/lib/brcobranca/retorno/base.rb +1 -2
  30. data/lib/brcobranca/retorno/retorno_cbr643.rb +42 -40
  31. data/lib/brcobranca/version.rb +3 -0
  32. data/lib/brcobranca.rb +93 -16
  33. data/spec/brcobranca/banco_bradesco_spec.rb +63 -50
  34. data/spec/brcobranca/banco_brasil_spec.rb +102 -136
  35. data/spec/brcobranca/banco_caixa_spec.rb +166 -0
  36. data/spec/brcobranca/banco_hsbc_spec.rb +83 -76
  37. data/spec/brcobranca/banco_real_spec.rb +54 -37
  38. data/spec/brcobranca/banco_unibanco_spec.rb +69 -52
  39. data/spec/brcobranca/base_spec.rb +24 -79
  40. data/spec/brcobranca/boletos_em_lote_spec.rb +46 -0
  41. data/spec/brcobranca/core_ext_spec.rb +24 -114
  42. data/spec/brcobranca/currency_spec.rb +1 -0
  43. data/spec/brcobranca/{banco_itau_spec.rb → itau_spec.rb} +112 -67
  44. data/spec/brcobranca/retorno_cbr643_spec.rb +13 -12
  45. data/spec/brcobranca/rghost_spec.rb +8 -7
  46. data/spec/brcobranca_spec.rb +16 -6
  47. data/spec/spec_helper.rb +11 -8
  48. metadata +107 -58
  49. data/Manifest.txt +0 -51
  50. data/PostInstall.txt +0 -4
  51. data/lib/brcobranca/boleto/banco_banespa.rb +0 -85
  52. data/lib/brcobranca/boleto/banco_bradesco.rb +0 -44
  53. data/lib/brcobranca/boleto/banco_hsbc.rb +0 -77
  54. data/lib/brcobranca/boleto/banco_itau.rb +0 -115
  55. data/lib/brcobranca/boleto/banco_real.rb +0 -70
  56. data/lib/brcobranca/boleto/banco_unibanco.rb +0 -79
  57. data/lib/brcobranca/boleto/template/util.rb +0 -32
  58. data/lib/brcobranca/config.rb +0 -9
  59. data/lib/brcobranca/core_ext.rb +0 -279
  60. data/spec/brcobranca/banco_banespa_spec.rb +0 -195
  61. data/spec/brcobranca/template/rghost_spec.rb +0 -65
  62. data/spec/brcobranca/template/util_spec.rb +0 -42
  63. data/spec/rcov.opts +0 -2
  64. data/spec/spec.opts +0 -6
  65. data/tasks/rcov.rake +0 -12
  66. 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 BancoItau do
4
+ describe Brcobranca::Boleto::Itau do
4
5
  before(:each) do
5
6
  @valid_attributes = {
6
7
  :especie_documento => "DM",
@@ -17,13 +18,13 @@ describe BancoItau do
17
18
  :sacado_documento => "12345678900",
18
19
  :agencia => "0810",
19
20
  :conta_corrente => "53678",
20
- :convenio => 12387989,
21
+ :convenio => 12387,
21
22
  :numero_documento => "12345678"
22
23
  }
23
24
  end
24
-
25
- it "should create a new default instance" do
26
- boleto_novo = BancoItau.new
25
+
26
+ it "Criar nova instancia com atributos padrões" do
27
+ boleto_novo = Brcobranca::Boleto::Itau.new
27
28
  boleto_novo.banco.should eql("341")
28
29
  boleto_novo.especie_documento.should eql("DM")
29
30
  boleto_novo.especie.should eql("R$")
@@ -37,11 +38,10 @@ describe BancoItau 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("175")
40
- boleto_novo.should be_instance_of(BancoItau)
41
41
  end
42
42
 
43
- it "should create a new instance given valid attributes" do
44
- boleto_novo = BancoItau.new(@valid_attributes)
43
+ it "Criar nova instancia com atributos válidos" do
44
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
45
45
  boleto_novo.banco.should eql("341")
46
46
  boleto_novo.especie_documento.should eql("DM")
47
47
  boleto_novo.especie.should eql("R$")
@@ -60,26 +60,25 @@ describe BancoItau do
60
60
  boleto_novo.sacado_documento.should eql("12345678900")
61
61
  boleto_novo.conta_corrente.should eql("53678")
62
62
  boleto_novo.agencia.should eql("0810")
63
- boleto_novo.convenio.should eql(12387989)
63
+ boleto_novo.convenio.should eql("12387")
64
64
  boleto_novo.numero_documento.should eql("12345678")
65
65
  boleto_novo.carteira.should eql("175")
66
- boleto_novo.should be_instance_of(BancoItau)
67
66
  end
68
-
69
- it "should mount a valid bank invoice" do
67
+
68
+ it "Gerar boleto" do
70
69
  @valid_attributes[:data_documento] = Date.parse("2009/08/13")
71
- boleto_novo = BancoItau.new(@valid_attributes)
72
- boleto_novo.should be_instance_of(BancoItau)
73
- boleto_novo.monta_codigo_43_digitos.should eql("3419432900000000001751234567840810536789000")
70
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
71
+
72
+ boleto_novo.codigo_barras_segunda_parte.should eql("1751234567840810536789000")
74
73
  boleto_novo.codigo_barras.should eql("34191432900000000001751234567840810536789000")
75
74
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.75124 34567.840813 05367.890000 1 43290000000000")
76
-
75
+
77
76
  @valid_attributes[:valor] = 135.00
78
77
  @valid_attributes[:numero_documento] = "258281"
79
78
  @valid_attributes[:data_documento] = Date.parse("2008/02/01")
80
- boleto_novo = BancoItau.new(@valid_attributes)
81
- boleto_novo.should be_instance_of(BancoItau)
82
- boleto_novo.monta_codigo_43_digitos.should eql("3419377000000135001750025828170810536789000")
79
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
80
+
81
+ boleto_novo.codigo_barras_segunda_parte.should eql("1750025828170810536789000")
83
82
  boleto_novo.codigo_barras.should eql("34191377000000135001750025828170810536789000")
84
83
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.75009 25828.170818 05367.890000 1 37700000013500")
85
84
 
@@ -87,9 +86,9 @@ describe BancoItau do
87
86
  @valid_attributes[:data_documento] = Date.parse("2004/09/04")
88
87
  @valid_attributes[:carteira] = 168
89
88
  @valid_attributes[:valor] = 135.00
90
- boleto_novo = BancoItau.new(@valid_attributes)
91
- boleto_novo.should be_instance_of(BancoItau)
92
- boleto_novo.monta_codigo_43_digitos.should eql("3419252500000135001680025828120810536789000")
89
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
90
+
91
+ boleto_novo.codigo_barras_segunda_parte.should eql("1680025828120810536789000")
93
92
  boleto_novo.codigo_barras.should eql("34194252500000135001680025828120810536789000")
94
93
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.68004 25828.120813 05367.890000 4 25250000013500")
95
94
 
@@ -99,9 +98,9 @@ describe BancoItau do
99
98
  @valid_attributes[:valor] = 135.00
100
99
  @valid_attributes[:convenio] = "12345"
101
100
  @valid_attributes[:seu_numero] = "1234567"
102
- boleto_novo = BancoItau.new(@valid_attributes)
103
- boleto_novo.should be_instance_of(BancoItau)
104
- boleto_novo.monta_codigo_43_digitos.should eql("3419252500000135001960025828112345671234550")
101
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
102
+
103
+ boleto_novo.codigo_barras_segunda_parte.should eql("1960025828112345671234550")
105
104
  boleto_novo.codigo_barras.should eql("34191252500000135001960025828112345671234550")
106
105
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.96005 25828.112349 56712.345505 1 25250000013500")
107
106
 
@@ -111,84 +110,130 @@ describe BancoItau do
111
110
  @valid_attributes[:valor] = 135.00
112
111
  @valid_attributes[:convenio] = "12345"
113
112
  @valid_attributes[:seu_numero] = "123456"
114
- boleto_novo = BancoItau.new(@valid_attributes)
115
- boleto_novo.should be_instance_of(BancoItau)
116
- boleto_novo.monta_codigo_43_digitos.should eql("3419252500000135001960025828101234561234550")
113
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
114
+
115
+ boleto_novo.codigo_barras_segunda_parte.should eql("1960025828101234561234550")
117
116
  boleto_novo.codigo_barras.should eql("34192252500000135001960025828101234561234550")
118
117
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.96005 25828.101235 45612.345509 2 25250000013500")
119
-
118
+
120
119
  @valid_attributes[:numero_documento] = "258281"
121
120
  @valid_attributes[:data_documento] = Date.parse("2004/09/04")
122
121
  @valid_attributes[:carteira] = 196
123
122
  @valid_attributes[:valor] = 135.00
124
123
  @valid_attributes[:convenio] = "1234"
125
124
  @valid_attributes[:seu_numero] = "123456"
126
- boleto_novo = BancoItau.new(@valid_attributes)
127
- boleto_novo.should be_instance_of(BancoItau)
128
- boleto_novo.monta_codigo_43_digitos.should eql("3419252500000135001960025828101234560123440")
125
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
126
+
127
+ boleto_novo.codigo_barras_segunda_parte.should eql("1960025828101234560123440")
129
128
  boleto_novo.codigo_barras.should eql("34192252500000135001960025828101234560123440")
130
129
  boleto_novo.codigo_barras.linha_digitavel.should eql("34191.96005 25828.101235 45601.234409 2 25250000013500")
131
130
  end
132
-
133
- it "should mount a valid agencia_conta_corrente_dv" do
131
+
132
+ it "Não permitir gerar boleto com atributos inválido" do
133
+ boleto_novo = Brcobranca::Boleto::Itau.new
134
+ lambda { boleto_novo.codigo_barras }.should raise_error(Brcobranca::BoletoInvalido)
135
+ boleto_novo.errors.count.should eql(3)
136
+ end
137
+
138
+ it "Montar agencia_conta_corrente_dv" do
134
139
  @valid_attributes[:conta_corrente] = "15255"
135
140
  @valid_attributes[:agencia] = "0607"
136
- boleto_novo = BancoItau.new(@valid_attributes)
137
- boleto_novo.should be_instance_of(BancoItau)
141
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
142
+
138
143
  boleto_novo.agencia_conta_corrente_dv.should eql(0)
139
-
144
+ boleto_novo.agencia_conta_boleto.should eql("0607 / 15255-0")
145
+
140
146
  @valid_attributes[:conta_corrente] = "85547"
141
147
  @valid_attributes[:agencia] = "1547"
142
- boleto_novo = BancoItau.new(@valid_attributes)
143
- boleto_novo.should be_instance_of(BancoItau)
148
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
149
+
144
150
  boleto_novo.agencia_conta_corrente_dv.should eql(6)
145
-
151
+ boleto_novo.agencia_conta_boleto.should eql("1547 / 85547-6")
152
+
146
153
  @valid_attributes[:conta_corrente] = "10207"
147
154
  @valid_attributes[:agencia] = "1547"
148
- boleto_novo = BancoItau.new(@valid_attributes)
149
- boleto_novo.should be_instance_of(BancoItau)
155
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
156
+
150
157
  boleto_novo.agencia_conta_corrente_dv.should eql(7)
151
-
158
+
152
159
  @valid_attributes[:conta_corrente] = "53678"
153
160
  @valid_attributes[:agencia] = "0811"
154
- boleto_novo = BancoItau.new(@valid_attributes)
155
- boleto_novo.should be_instance_of(BancoItau)
161
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
162
+
156
163
  boleto_novo.agencia_conta_corrente_dv.should eql(8)
164
+ boleto_novo.agencia_conta_boleto.should eql("0811 / 53678-8")
165
+ end
166
+
167
+ it "Montar nosso_numero_boleto" do
168
+ @valid_attributes[:conta_corrente] = "15255"
169
+ @valid_attributes[:agencia] = "0607"
170
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
171
+
172
+ boleto_novo.nosso_numero_boleto.should eql("175/12345678-4")
173
+
174
+ @valid_attributes[:conta_corrente] = "15255"
175
+ @valid_attributes[:agencia] = "0607"
176
+ @valid_attributes[:carteira] = "143"
177
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
178
+
179
+ boleto_novo.nosso_numero_boleto.should eql("143/12345678-2")
157
180
  end
158
-
159
- it "should mount a valid nosso_numero_dv" do
181
+
182
+ it "Montar nosso_numero_dv" do
160
183
  @valid_attributes[:numero_documento] = "00015448"
161
- boleto_novo = BancoItau.new(@valid_attributes)
162
- boleto_novo.should be_instance_of(BancoItau)
184
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
185
+
163
186
  boleto_novo.nosso_numero_dv.should eql(6)
164
187
 
165
188
  @valid_attributes[:numero_documento] = "15448"
166
- boleto_novo = BancoItau.new(@valid_attributes)
167
- boleto_novo.should be_instance_of(BancoItau)
189
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
190
+
168
191
  boleto_novo.nosso_numero_dv.should eql(6)
169
-
192
+
170
193
  @valid_attributes[:numero_documento] = "12345678"
171
- boleto_novo = BancoItau.new(@valid_attributes)
172
- boleto_novo.should be_instance_of(BancoItau)
194
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
195
+
173
196
  boleto_novo.nosso_numero_dv.should eql(4)
174
-
197
+
175
198
  @valid_attributes[:numero_documento] = "34230"
176
- boleto_novo = BancoItau.new(@valid_attributes)
177
- boleto_novo.should be_instance_of(BancoItau)
199
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
200
+
178
201
  boleto_novo.nosso_numero_dv.should eql(5)
179
-
202
+
180
203
  @valid_attributes[:numero_documento] = "258281"
181
- boleto_novo = BancoItau.new(@valid_attributes)
182
- boleto_novo.should be_instance_of(BancoItau)
204
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
205
+
183
206
  boleto_novo.nosso_numero_dv.should eql(7)
184
207
  end
185
-
186
- it "should test outputs" do
208
+
209
+ it "Busca logotipo do banco" do
210
+ boleto_novo = Brcobranca::Boleto::Itau.new
211
+ File.exist?(boleto_novo.logotipo).should be_true
212
+ File.stat(boleto_novo.logotipo).zero?.should be_false
213
+ end
214
+
215
+ it "Gerar boleto nos formatos válidos com método to_" do
216
+ @valid_attributes[:data_documento] = Date.parse("2009/08/13")
217
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
218
+
219
+ %w| pdf jpg tif png ps |.each do |format|
220
+ file_body=boleto_novo.send("to_#{format}".to_sym)
221
+ tmp_file=Tempfile.new("foobar." << format)
222
+ tmp_file.puts file_body
223
+ tmp_file.close
224
+ File.exist?(tmp_file.path).should be_true
225
+ File.stat(tmp_file.path).zero?.should be_false
226
+ File.delete(tmp_file.path).should eql(1)
227
+ File.exist?(tmp_file.path).should be_false
228
+ end
229
+ end
230
+
231
+ it "Gerar boleto nos formatos válidos" do
187
232
  @valid_attributes[:data_documento] = Date.parse("2009/08/13")
188
- boleto_novo = BancoItau.new(@valid_attributes)
189
- boleto_novo.should be_instance_of(BancoItau)
233
+ boleto_novo = Brcobranca::Boleto::Itau.new(@valid_attributes)
234
+
190
235
  %w| pdf jpg tif png ps |.each do |format|
191
- file_body=boleto_novo.to(format.to_sym)
236
+ file_body=boleto_novo.to(format)
192
237
  tmp_file=Tempfile.new("foobar." << format)
193
238
  tmp_file.puts file_body
194
239
  tmp_file.close
@@ -198,5 +243,5 @@ describe BancoItau do
198
243
  File.exist?(tmp_file.path).should be_false
199
244
  end
200
245
  end
201
-
202
- end
246
+
247
+ end
@@ -1,13 +1,14 @@
1
+ # -*- encoding: utf-8 -*-
1
2
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
3
 
3
- describe RetornoCbr643 do
4
-
4
+ describe Brcobranca::Retorno::RetornoCbr643 do
5
+
5
6
  before(:each) do
6
7
  @arquivo = File.join(File.dirname(__FILE__),'..','arquivos','CBR64310.RET')
7
8
  end
8
9
 
9
- it "should read correctly values from file" do
10
- pagamentos = RetornoCbr643.load_lines(@arquivo)
10
+ it "Transforma arquivo de retorno em objetos de retorno" do
11
+ pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo)
11
12
  pagamentos.first.sequencial.should eql("000001")
12
13
  pagamentos.first.agencia_com_dv.should eql("CA")
13
14
  pagamentos.first.cedente_com_dv.should eql("33251")
@@ -18,8 +19,8 @@ describe RetornoCbr643 do
18
19
  pagamentos.first.nosso_numero.should eql("OSSENSE DO AL001B")
19
20
  end
20
21
 
21
- it "should read correctly values from file with option :except in number" do
22
- pagamentos = RetornoCbr643.load_lines(@arquivo,{:except => [1]})
22
+ it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except" do
23
+ pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => [1]})
23
24
  pagamentos.first.sequencial.should eql("000002")
24
25
  pagamentos.first.agencia_com_dv.should eql("33251")
25
26
  pagamentos.first.cedente_com_dv.should eql("000289353")
@@ -30,8 +31,8 @@ describe RetornoCbr643 do
30
31
  pagamentos.first.nosso_numero.should eql("16224200000000003")
31
32
  end
32
33
 
33
- it "should read correctly values from file with option :except in number and :length" do
34
- pagamentos = RetornoCbr643.load_lines(@arquivo,{:except => [1], :length => 400})
34
+ it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except e :length" do
35
+ pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => [1], :length => 400})
35
36
  pagamentos.first.sequencial.should eql("000002")
36
37
  pagamentos.first.agencia_com_dv.should eql("33251")
37
38
  pagamentos.first.cedente_com_dv.should eql("000289353")
@@ -42,8 +43,8 @@ describe RetornoCbr643 do
42
43
  pagamentos.first.nosso_numero.should eql("16224200000000003")
43
44
  end
44
45
 
45
- it "should read correctly values from file with option :except in regex" do
46
- pagamentos = RetornoCbr643.load_lines(@arquivo,{:except => /^[^7]/})
46
+ it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except em regex" do
47
+ pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => /^[^7]/})
47
48
  pagamentos.first.sequencial.should eql("000002")
48
49
  pagamentos.first.agencia_com_dv.should eql("33251")
49
50
  pagamentos.first.cedente_com_dv.should eql("000289353")
@@ -54,8 +55,8 @@ describe RetornoCbr643 do
54
55
  pagamentos.first.nosso_numero.should eql("16224200000000003")
55
56
  end
56
57
 
57
- it "should read correctly values from file with option :except in regex and :length" do
58
- pagamentos = RetornoCbr643.load_lines(@arquivo,{:except => /^[^7]/, :length => 400})
58
+ it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except em regex e :length" do
59
+ pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => /^[^7]/, :length => 400})
59
60
  pagamentos.first.sequencial.should eql("000002")
60
61
  pagamentos.first.agencia_com_dv.should eql("33251")
61
62
  pagamentos.first.cedente_com_dv.should eql("000289353")
@@ -1,13 +1,12 @@
1
+ # -*- encoding: utf-8 -*-
1
2
  require File.dirname(__FILE__) + '/../spec_helper.rb'
2
- require 'tempfile'
3
3
 
4
- describe "RGhost test" do
4
+ describe "RGhost" do
5
5
 
6
6
  before(:each) do
7
7
  @valid_attributes = {
8
8
  :especie_documento => "DM",
9
9
  :moeda => "9",
10
- :banco => "001",
11
10
  :data_documento => Date.today,
12
11
  :dias_vencimento => 1,
13
12
  :aceite => "S",
@@ -25,12 +24,14 @@ describe "RGhost test" do
25
24
  }
26
25
  end
27
26
 
28
- it "should test gs presence" do
29
- RGhost::Config.config_platform
27
+ it "Testar se RGhost está instalado" do
28
+ # RGhost::Config.config_platform
30
29
  File.exist?(RGhost::Config::GS[:path]).should be_true
31
30
  File.executable?(RGhost::Config::GS[:path]).should be_true
32
31
  s=`#{RGhost::Config::GS[:path]} -v`
33
- s.should =~ /^GPL Ghostscript 8\.[6-9]/
32
+ s.should =~ /^GPL Ghostscript/
33
+ s=`#{RGhost::Config::GS[:path]} --version`
34
+ s.should =~ /[8-9]\.[0-9]/
34
35
  end
35
-
36
+
36
37
  end
@@ -1,8 +1,18 @@
1
- require File.dirname(__FILE__) + '/spec_helper.rb'
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
3
 
3
- describe Brcobranca do
4
- it "should validate default options" do
5
- Brcobranca::Config::OPCOES[:gerador].should eql('rghost')
6
- Brcobranca::Config::OPCOES[:tipo].should eql('pdf')
7
- end
4
+ describe "Brcobranca" do
5
+ it "Validar opções padrão" do
6
+ Brcobranca.configuration.gerador.should eql(:rghost)
7
+ Brcobranca.configuration.formato.should eql(:pdf)
8
+ end
9
+
10
+ it "Mudar configurações" do
11
+ Brcobranca.setup do |config|
12
+ config.gerador = :prawn
13
+ config.formato = :gif
14
+ end
15
+ Brcobranca.configuration.gerador.should eql(:prawn)
16
+ Brcobranca.configuration.formato.should eql(:gif)
17
+ end
8
18
  end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,13 @@
1
- begin
2
- require 'spec'
3
- rescue LoadError
4
- require 'rubygems' unless ENV['NO_RUBYGEMS']
5
- gem 'rspec'
6
- require 'spec'
7
- end
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
8
3
 
9
- $:.unshift(File.dirname(__FILE__) + '/../lib')
4
+ require 'rubygems'
5
+ require 'tempfile'
6
+ require 'bundler/setup'
10
7
  require 'brcobranca'
8
+ require 'rghost'
9
+
10
+ RGhost::Config::GS[:path] = '/usr/local/bin/gs'
11
+
12
+ RSpec.configure do |config|
13
+ end