brcobranca 3.2.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +7 -1
  5. data/Gemfile +13 -2
  6. data/Rakefile +2 -2
  7. data/brcobranca.gemspec +10 -17
  8. data/lib/brcobranca.rb +2 -5
  9. data/lib/brcobranca/arquivos/logos/bancobrasil.eps +0 -0
  10. data/lib/brcobranca/arquivos/logos/bradesco.eps +0 -0
  11. data/lib/brcobranca/arquivos/logos/caixa.eps +0 -0
  12. data/lib/brcobranca/arquivos/logos/hsbc.eps +0 -0
  13. data/lib/brcobranca/arquivos/logos/itau.eps +0 -0
  14. data/lib/brcobranca/arquivos/logos/santander.eps +0 -0
  15. data/lib/brcobranca/arquivos/logos/sicredi.eps +0 -0
  16. data/lib/brcobranca/arquivos/templates/modelo_generico.eps +0 -0
  17. data/lib/brcobranca/boleto/banco_brasil.rb +27 -29
  18. data/lib/brcobranca/boleto/base.rb +29 -30
  19. data/lib/brcobranca/boleto/bradesco.rb +14 -15
  20. data/lib/brcobranca/boleto/caixa.rb +25 -23
  21. data/lib/brcobranca/boleto/hsbc.rb +30 -34
  22. data/lib/brcobranca/boleto/itau.rb +23 -25
  23. data/lib/brcobranca/boleto/santander.rb +17 -19
  24. data/lib/brcobranca/boleto/sicredi.rb +19 -19
  25. data/lib/brcobranca/boleto/template/base.rb +0 -2
  26. data/lib/brcobranca/boleto/template/rghost.rb +72 -74
  27. data/lib/brcobranca/boleto/template/rghost_carne.rb +105 -118
  28. data/lib/brcobranca/calculo.rb +22 -22
  29. data/lib/brcobranca/calculo_data.rb +8 -8
  30. data/lib/brcobranca/currency.rb +11 -11
  31. data/lib/brcobranca/formatacao.rb +16 -16
  32. data/lib/brcobranca/limpeza.rb +4 -4
  33. data/lib/brcobranca/retorno/base.rb +0 -1
  34. data/lib/brcobranca/retorno/retorno_cbr643.rb +35 -35
  35. data/lib/brcobranca/retorno/retorno_cnab240.rb +39 -40
  36. data/lib/brcobranca/retorno/retorno_cnab400.rb +21 -26
  37. data/lib/brcobranca/version.rb +2 -2
  38. data/spec/brcobranca/banco_bradesco_spec.rb +113 -113
  39. data/spec/brcobranca/banco_brasil_spec.rb +167 -167
  40. data/spec/brcobranca/banco_caixa_spec.rb +58 -58
  41. data/spec/brcobranca/banco_hsbc_spec.rb +117 -118
  42. data/spec/brcobranca/banco_sicredi_spec.rb +92 -93
  43. data/spec/brcobranca/base_spec.rb +78 -78
  44. data/spec/brcobranca/boletos_em_lote_spec.rb +22 -22
  45. data/spec/brcobranca/core_ext_spec.rb +134 -135
  46. data/spec/brcobranca/currency_spec.rb +59 -59
  47. data/spec/brcobranca/itau_spec.rb +137 -137
  48. data/spec/brcobranca/retorno_cbr643_spec.rb +32 -32
  49. data/spec/brcobranca/retorno_cnab400_spec.rb +40 -42
  50. data/spec/brcobranca/retorno_cnab_240_spec.rb +17 -19
  51. data/spec/brcobranca/rghost_spec.rb +21 -21
  52. data/spec/brcobranca/santander_spec.rb +80 -80
  53. data/spec/brcobranca_spec.rb +4 -4
  54. data/spec/spec_helper.rb +1 -1
  55. metadata +12 -54
  56. data/VERSION +0 -1
  57. data/lib/brcobranca/arquivos/logos/bancobrasil.jpg +0 -0
  58. data/lib/brcobranca/arquivos/logos/bradesco.jpg +0 -0
  59. data/lib/brcobranca/arquivos/logos/caixa.jpg +0 -0
  60. data/lib/brcobranca/arquivos/logos/hsbc.jpg +0 -0
  61. data/lib/brcobranca/arquivos/logos/itau.jpg +0 -0
  62. data/lib/brcobranca/arquivos/logos/santander.jpg +0 -0
  63. data/lib/brcobranca/arquivos/logos/sicredi.jpg +0 -0
@@ -5,26 +5,26 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
5
5
 
6
6
  before do
7
7
  @valid_attributes = {
8
- :especie_documento => 'DM',
9
- :moeda => '9',
10
- :data_documento => Date.today,
11
- :dias_vencimento => 1,
12
- :aceite => 'S',
13
- :quantidade => 1,
14
- :valor => 10.00,
15
- :cedente => 'PREFEITURA MUNICIPAL DE VILHENA',
16
- :documento_cedente => '04092706000181',
17
- :sacado => 'João Paulo Barbosa',
18
- :sacado_documento => '77777777777',
19
- :agencia => '1825',
20
- :conta_corrente => '0000528',
21
- :convenio => '245274',
22
- :numero_documento => '000000000000001'
8
+ especie_documento: 'DM',
9
+ moeda: '9',
10
+ data_documento: Date.today,
11
+ dias_vencimento: 1,
12
+ aceite: 'S',
13
+ quantidade: 1,
14
+ valor: 10.00,
15
+ cedente: 'PREFEITURA MUNICIPAL DE VILHENA',
16
+ documento_cedente: '04092706000181',
17
+ sacado: 'João Paulo Barbosa',
18
+ sacado_documento: '77777777777',
19
+ agencia: '1825',
20
+ conta_corrente: '0000528',
21
+ convenio: '245274',
22
+ numero_documento: '000000000000001'
23
23
  }
24
24
  end
25
25
 
26
26
  it 'Criar nova instância com atributos padrões' do
27
- boleto_novo = Brcobranca::Boleto::Caixa.new
27
+ boleto_novo = described_class.new
28
28
  expect(boleto_novo.banco).to eql('104')
29
29
  expect(boleto_novo.banco_dv).to eql('0')
30
30
  expect(boleto_novo.especie_documento).to eql('DM')
@@ -39,13 +39,13 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
39
39
  expect(boleto_novo.valor_documento).to eql(0.0)
40
40
  expect(boleto_novo.local_pagamento).to eql('PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE')
41
41
  expect(boleto_novo.codigo_servico).to be_falsey
42
- carteira = "#{Brcobranca::Boleto::Caixa::MODALIDADE_COBRANCA[:sem_registro]}" <<
42
+ carteira = "#{Brcobranca::Boleto::Caixa::MODALIDADE_COBRANCA[:sem_registro]}" \
43
43
  "#{Brcobranca::Boleto::Caixa::EMISSAO_BOLETO[:cedente]}"
44
44
  expect(boleto_novo.carteira).to eql(carteira)
45
45
  end
46
46
 
47
- it "Criar nova instancia com atributos válidos" do
48
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes
47
+ it 'Criar nova instancia com atributos válidos' do
48
+ boleto_novo = described_class.new @valid_attributes
49
49
  @valid_attributes.keys.each do |key|
50
50
  expect(boleto_novo.send(key)).to eql(@valid_attributes[key])
51
51
  end
@@ -53,88 +53,88 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
53
53
  end
54
54
 
55
55
  it 'Gerar o dígito verificador do convênio' do
56
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes
56
+ boleto_novo = described_class.new @valid_attributes
57
57
  expect(boleto_novo.convenio_dv).not_to be_nil
58
58
  expect(boleto_novo.convenio_dv).to eq('0')
59
59
  end
60
60
 
61
- it "Gerar o código de barras" do
62
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes
61
+ it 'Gerar o código de barras' do
62
+ boleto_novo = described_class.new @valid_attributes
63
63
  expect { boleto_novo.codigo_barras }.not_to raise_error
64
64
  expect(boleto_novo.codigo_barras_segunda_parte).not_to be_blank
65
65
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('2452740000200040000000010')
66
66
  end
67
67
 
68
- it "Não permitir gerar boleto com atributos inválidos" do
69
- boleto_novo = Brcobranca::Boleto::Caixa.new
68
+ it 'Não permitir gerar boleto com atributos inválidos' do
69
+ boleto_novo = described_class.new
70
70
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
71
71
  end
72
72
 
73
73
  it 'Tamanho do número de convênio deve ser de 6 dígitos' do
74
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:convenio => '1234567')
74
+ boleto_novo = described_class.new @valid_attributes.merge(convenio: '1234567')
75
75
  expect(boleto_novo).not_to be_valid
76
76
  end
77
77
 
78
78
  it 'Número do convênio deve ser preenchido com zeros à esquerda quando menor que 6 dígitos' do
79
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:convenio => '12345')
79
+ boleto_novo = described_class.new @valid_attributes.merge(convenio: '12345')
80
80
  expect(boleto_novo.convenio).to eq('012345')
81
81
  expect(boleto_novo).to be_valid
82
82
  end
83
83
 
84
84
  it 'Tamanho da carteira deve ser de 2 dígitos' do
85
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:carteira => '145')
85
+ boleto_novo = described_class.new @valid_attributes.merge(carteira: '145')
86
86
  expect(boleto_novo).not_to be_valid
87
87
 
88
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:carteira => '1')
88
+ boleto_novo = described_class.new @valid_attributes.merge(carteira: '1')
89
89
  expect(boleto_novo).not_to be_valid
90
90
  end
91
91
 
92
92
  it 'Tamanho do número documento deve ser de 15 dígitos' do
93
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:numero_documento => '1234567891234567')
93
+ boleto_novo = described_class.new @valid_attributes.merge(numero_documento: '1234567891234567')
94
94
  expect(boleto_novo).not_to be_valid
95
95
  end
96
96
 
97
97
  it 'Número do documento deve ser preenchido com zeros à esquerda quando menor que 15 dígitos' do
98
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes.merge(:numero_documento => '1')
98
+ boleto_novo = described_class.new @valid_attributes.merge(numero_documento: '1')
99
99
  expect(boleto_novo.numero_documento).to eq('000000000000001')
100
100
  expect(boleto_novo).to be_valid
101
101
  end
102
102
 
103
- it "Montar nosso_numero_boleto" do
104
- boleto_novo = Brcobranca::Boleto::Caixa.new @valid_attributes
105
- expect(boleto_novo.nosso_numero_boleto).to eq("#{boleto_novo.carteira}" <<
106
- "#{boleto_novo.numero_documento}" <<
103
+ it 'Montar nosso_numero_boleto' do
104
+ boleto_novo = described_class.new @valid_attributes
105
+ expect(boleto_novo.nosso_numero_boleto).to eq("#{boleto_novo.carteira}" \
106
+ "#{boleto_novo.numero_documento}" \
107
107
  "-#{boleto_novo.nosso_numero_dv}")
108
108
  end
109
109
 
110
- it "Montar agencia_conta_boleto" do
111
- boleto_novo = Brcobranca::Boleto::Caixa.new(@valid_attributes)
110
+ it 'Montar agencia_conta_boleto' do
111
+ boleto_novo = described_class.new(@valid_attributes)
112
112
 
113
- expect(boleto_novo.agencia_conta_boleto).to eql("1825/245274-0")
113
+ expect(boleto_novo.agencia_conta_boleto).to eql('1825/245274-0')
114
114
 
115
- boleto_novo.convenio = "123456"
116
- expect(boleto_novo.agencia_conta_boleto).to eql("1825/123456-0")
115
+ boleto_novo.convenio = '123456'
116
+ expect(boleto_novo.agencia_conta_boleto).to eql('1825/123456-0')
117
117
 
118
- boleto_novo.agencia = "2030"
119
- boleto_novo.convenio = "654321"
120
- expect(boleto_novo.agencia_conta_boleto).to eql("2030/654321-9")
118
+ boleto_novo.agencia = '2030'
119
+ boleto_novo.convenio = '654321'
120
+ expect(boleto_novo.agencia_conta_boleto).to eql('2030/654321-9')
121
121
  end
122
122
 
123
- it "Busca logotipo do banco" do
124
- boleto_novo = Brcobranca::Boleto::Caixa.new
123
+ it 'Busca logotipo do banco' do
124
+ boleto_novo = described_class.new
125
125
  expect(File.exist?(boleto_novo.logotipo)).to be_truthy
126
126
  expect(File.stat(boleto_novo.logotipo).zero?).to be_falsey
127
127
  end
128
128
 
129
- it "Gerar boleto nos formatos válidos com método to_" do
129
+ it 'Gerar boleto nos formatos válidos com método to_' do
130
130
  @valid_attributes[:valor] = 135.00
131
- @valid_attributes[:data_documento] = Date.parse("2008-02-01")
131
+ @valid_attributes[:data_documento] = Date.parse('2008-02-01')
132
132
  @valid_attributes[:dias_vencimento] = 2
133
- @valid_attributes[:numero_documento] = "000000077700168"
134
- boleto_novo = Brcobranca::Boleto::Caixa.new(@valid_attributes)
135
- %w| pdf jpg tif png |.each do |format|
136
- file_body=boleto_novo.send("to_#{format}".to_sym)
137
- tmp_file=Tempfile.new("foobar." << format)
133
+ @valid_attributes[:numero_documento] = '000000077700168'
134
+ boleto_novo = described_class.new(@valid_attributes)
135
+ %w(pdf jpg tif png).each do |format|
136
+ file_body = boleto_novo.send("to_#{format}".to_sym)
137
+ tmp_file = Tempfile.new('foobar.' << format)
138
138
  tmp_file.puts file_body
139
139
  tmp_file.close
140
140
  expect(File.exist?(tmp_file.path)).to be_truthy
@@ -144,15 +144,15 @@ describe Brcobranca::Boleto::Caixa do #:nodoc:[all]
144
144
  end
145
145
  end
146
146
 
147
- it "Gerar boleto nos formatos válidos" do
147
+ it 'Gerar boleto nos formatos válidos' do
148
148
  @valid_attributes[:valor] = 135.00
149
- @valid_attributes[:data_documento] = Date.parse("2008-02-01")
149
+ @valid_attributes[:data_documento] = Date.parse('2008-02-01')
150
150
  @valid_attributes[:dias_vencimento] = 2
151
- @valid_attributes[:numero_documento] = "000000077700168"
152
- boleto_novo = Brcobranca::Boleto::Caixa.new(@valid_attributes)
153
- %w| pdf jpg tif png |.each do |format|
154
- file_body=boleto_novo.to(format)
155
- tmp_file=Tempfile.new("foobar." << format)
151
+ @valid_attributes[:numero_documento] = '000000077700168'
152
+ boleto_novo = described_class.new(@valid_attributes)
153
+ %w(pdf jpg tif png).each do |format|
154
+ file_body = boleto_novo.to(format)
155
+ tmp_file = Tempfile.new('foobar.' << format)
156
156
  tmp_file.puts file_body
157
157
  tmp_file.close
158
158
  expect(File.exist?(tmp_file.path)).to be_truthy
@@ -5,182 +5,181 @@ describe Brcobranca::Boleto::Hsbc do
5
5
 
6
6
  before(:each) do
7
7
  @valid_attributes = {
8
- :especie_documento => "DM",
9
- :moeda => "9",
10
- :data_documento => Date.today,
11
- :dias_vencimento => 1,
12
- :aceite => "S",
13
- :quantidade => 1,
14
- :valor => 0.0,
15
- :local_pagamento => "QUALQUER BANCO ATÉ O VENCIMENTO",
16
- :cedente => "Kivanio Barbosa",
17
- :documento_cedente => "12345678912",
18
- :sacado => "Claudio Pozzebom",
19
- :sacado_documento => "12345678900",
20
- :agencia => "4042",
21
- :conta_corrente => "61900",
22
- :convenio => 12387989,
23
- :numero_documento => "777700168"
8
+ especie_documento: 'DM',
9
+ moeda: '9',
10
+ data_documento: Date.today,
11
+ dias_vencimento: 1,
12
+ aceite: 'S',
13
+ quantidade: 1,
14
+ valor: 0.0,
15
+ local_pagamento: 'QUALQUER BANCO ATÉ O VENCIMENTO',
16
+ cedente: 'Kivanio Barbosa',
17
+ documento_cedente: '12345678912',
18
+ sacado: 'Claudio Pozzebom',
19
+ sacado_documento: '12345678900',
20
+ agencia: '4042',
21
+ conta_corrente: '61900',
22
+ convenio: 12_387_989,
23
+ numero_documento: '777700168'
24
24
  }
25
25
  end
26
26
 
27
-
28
- it "Criar nova instancia com atributos padrões" do
29
- boleto_novo = Brcobranca::Boleto::Hsbc.new
30
- expect(boleto_novo.banco).to eql("399")
31
- expect(boleto_novo.especie_documento).to eql("DM")
32
- expect(boleto_novo.especie).to eql("R$")
33
- expect(boleto_novo.moeda).to eql("9")
27
+ it 'Criar nova instancia com atributos padrões' do
28
+ boleto_novo = described_class.new
29
+ expect(boleto_novo.banco).to eql('399')
30
+ expect(boleto_novo.especie_documento).to eql('DM')
31
+ expect(boleto_novo.especie).to eql('R$')
32
+ expect(boleto_novo.moeda).to eql('9')
34
33
  expect(boleto_novo.data_documento).to eql(Date.today)
35
34
  expect(boleto_novo.dias_vencimento).to eql(1)
36
35
  expect(boleto_novo.data_vencimento).to eql(Date.today + 1)
37
- expect(boleto_novo.aceite).to eql("S")
36
+ expect(boleto_novo.aceite).to eql('S')
38
37
  expect(boleto_novo.quantidade).to eql(1)
39
38
  expect(boleto_novo.valor).to eql(0.0)
40
39
  expect(boleto_novo.valor_documento).to eql(0.0)
41
- expect(boleto_novo.local_pagamento).to eql("QUALQUER BANCO ATÉ O VENCIMENTO")
42
- expect(boleto_novo.carteira).to eql("CNR")
40
+ expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
41
+ expect(boleto_novo.carteira).to eql('CNR')
43
42
 
44
43
  end
45
44
 
46
- it "Criar nova instancia com atributos válidos" do
47
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
48
- expect(boleto_novo.banco).to eql("399")
49
- expect(boleto_novo.especie_documento).to eql("DM")
50
- expect(boleto_novo.especie).to eql("R$")
51
- expect(boleto_novo.moeda).to eql("9")
45
+ it 'Criar nova instancia com atributos válidos' do
46
+ boleto_novo = described_class.new(@valid_attributes)
47
+ expect(boleto_novo.banco).to eql('399')
48
+ expect(boleto_novo.especie_documento).to eql('DM')
49
+ expect(boleto_novo.especie).to eql('R$')
50
+ expect(boleto_novo.moeda).to eql('9')
52
51
  expect(boleto_novo.data_documento).to eql(Date.today)
53
52
  expect(boleto_novo.dias_vencimento).to eql(1)
54
53
  expect(boleto_novo.data_vencimento).to eql(Date.today + 1)
55
- expect(boleto_novo.aceite).to eql("S")
54
+ expect(boleto_novo.aceite).to eql('S')
56
55
  expect(boleto_novo.quantidade).to eql(1)
57
56
  expect(boleto_novo.valor).to eql(0.0)
58
57
  expect(boleto_novo.valor_documento).to eql(0.0)
59
- expect(boleto_novo.local_pagamento).to eql("QUALQUER BANCO ATÉ O VENCIMENTO")
60
- expect(boleto_novo.cedente).to eql("Kivanio Barbosa")
61
- expect(boleto_novo.documento_cedente).to eql("12345678912")
62
- expect(boleto_novo.sacado).to eql("Claudio Pozzebom")
63
- expect(boleto_novo.sacado_documento).to eql("12345678900")
64
- expect(boleto_novo.conta_corrente).to eql("0061900")
65
- expect(boleto_novo.agencia).to eql("4042")
66
- expect(boleto_novo.convenio).to eql(12387989)
67
- expect(boleto_novo.numero_documento).to eql("0000777700168")
68
- expect(boleto_novo.carteira).to eql("CNR")
58
+ expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
59
+ expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
60
+ expect(boleto_novo.documento_cedente).to eql('12345678912')
61
+ expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
62
+ expect(boleto_novo.sacado_documento).to eql('12345678900')
63
+ expect(boleto_novo.conta_corrente).to eql('0061900')
64
+ expect(boleto_novo.agencia).to eql('4042')
65
+ expect(boleto_novo.convenio).to eql(12_387_989)
66
+ expect(boleto_novo.numero_documento).to eql('0000777700168')
67
+ expect(boleto_novo.carteira).to eql('CNR')
69
68
  end
70
69
 
71
- it "Gerar boleto" do
70
+ it 'Gerar boleto' do
72
71
  @valid_attributes[:valor] = 2952.95
73
- @valid_attributes[:data_documento] = Date.parse("2009-04-03")
72
+ @valid_attributes[:data_documento] = Date.parse('2009-04-03')
74
73
  @valid_attributes[:dias_vencimento] = 5
75
- @valid_attributes[:numero_documento] = "12345678"
76
- @valid_attributes[:conta_corrente] = "1122334"
77
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
74
+ @valid_attributes[:numero_documento] = '12345678'
75
+ @valid_attributes[:conta_corrente] = '1122334'
76
+ boleto_novo = described_class.new(@valid_attributes)
78
77
 
79
- expect(boleto_novo.codigo_barras_segunda_parte).to eql("1122334000001234567809892")
80
- expect(boleto_novo.codigo_barras).to eql("39998420100002952951122334000001234567809892")
81
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql("39991.12232 34000.001239 45678.098927 8 42010000295295")
78
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1122334000001234567809892')
79
+ expect(boleto_novo.codigo_barras).to eql('39998420100002952951122334000001234567809892')
80
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('39991.12232 34000.001239 45678.098927 8 42010000295295')
82
81
 
83
82
  @valid_attributes[:valor] = 934.23
84
- @valid_attributes[:data_documento] = Date.parse("2004-09-03")
83
+ @valid_attributes[:data_documento] = Date.parse('2004-09-03')
85
84
  @valid_attributes[:dias_vencimento] = 0
86
- @valid_attributes[:numero_documento] = "07778899"
87
- @valid_attributes[:conta_corrente] = "0016324"
88
- @valid_attributes[:agencia] = "1234"
89
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
90
-
91
- expect(boleto_novo.codigo_barras_segunda_parte).to eql("0016324000000777889924742")
92
- expect(boleto_novo.codigo_barras).to eql("39993252300000934230016324000000777889924742")
93
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql("39990.01633 24000.000778 78899.247429 3 25230000093423")
85
+ @valid_attributes[:numero_documento] = '07778899'
86
+ @valid_attributes[:conta_corrente] = '0016324'
87
+ @valid_attributes[:agencia] = '1234'
88
+ boleto_novo = described_class.new(@valid_attributes)
89
+
90
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('0016324000000777889924742')
91
+ expect(boleto_novo.codigo_barras).to eql('39993252300000934230016324000000777889924742')
92
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('39990.01633 24000.000778 78899.247429 3 25230000093423')
94
93
  end
95
94
 
96
- it "Não permitir gerar boleto com atributos inválido" do
97
- boleto_novo = Brcobranca::Boleto::Hsbc.new
95
+ it 'Não permitir gerar boleto com atributos inválido' do
96
+ boleto_novo = described_class.new
98
97
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
99
98
  expect(boleto_novo.errors.count).to eql(3)
100
99
  end
101
100
 
102
- it "Montar nosso número" do
103
- @valid_attributes[:data_documento] = Date.parse("2000-07-04")
101
+ it 'Montar nosso número' do
102
+ @valid_attributes[:data_documento] = Date.parse('2000-07-04')
104
103
  @valid_attributes[:dias_vencimento] = 5
105
- @valid_attributes[:numero_documento] = "12345678"
106
- @valid_attributes[:conta_corrente] = "1122334"
107
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
104
+ @valid_attributes[:numero_documento] = '12345678'
105
+ @valid_attributes[:conta_corrente] = '1122334'
106
+ boleto_novo = described_class.new(@valid_attributes)
108
107
 
109
- expect(boleto_novo.nosso_numero).to eql("0000012345678942")
108
+ expect(boleto_novo.nosso_numero).to eql('0000012345678942')
110
109
 
111
- @valid_attributes[:data_documento] = Date.parse("2000-07-04")
110
+ @valid_attributes[:data_documento] = Date.parse('2000-07-04')
112
111
  @valid_attributes[:dias_vencimento] = 0
113
- @valid_attributes[:numero_documento] = "39104766"
114
- @valid_attributes[:conta_corrente] = "351202"
115
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
112
+ @valid_attributes[:numero_documento] = '39104766'
113
+ @valid_attributes[:conta_corrente] = '351202'
114
+ boleto_novo = described_class.new(@valid_attributes)
116
115
 
117
- expect(boleto_novo.nosso_numero).to eql("0000039104766340")
116
+ expect(boleto_novo.nosso_numero).to eql('0000039104766340')
118
117
 
119
- @valid_attributes[:data_documento] = Date.parse("2009-04-03")
118
+ @valid_attributes[:data_documento] = Date.parse('2009-04-03')
120
119
  @valid_attributes[:dias_vencimento] = 0
121
- @valid_attributes[:numero_documento] = "39104766"
122
- @valid_attributes[:conta_corrente] = "351202"
123
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
120
+ @valid_attributes[:numero_documento] = '39104766'
121
+ @valid_attributes[:conta_corrente] = '351202'
122
+ boleto_novo = described_class.new(@valid_attributes)
124
123
 
125
- expect(boleto_novo.nosso_numero).to eql("0000039104766346")
124
+ expect(boleto_novo.nosso_numero).to eql('0000039104766346')
126
125
 
127
126
  @valid_attributes[:data_documento] = nil
128
127
  @valid_attributes[:dias_vencimento] = 0
129
- @valid_attributes[:numero_documento] = "39104766"
130
- @valid_attributes[:conta_corrente] = "351202"
131
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
128
+ @valid_attributes[:numero_documento] = '39104766'
129
+ @valid_attributes[:conta_corrente] = '351202'
130
+ boleto_novo = described_class.new(@valid_attributes)
132
131
 
133
132
  expect { boleto_novo.nosso_numero }.to raise_error(ArgumentError)
134
133
  end
135
134
 
136
- it "Montar nosso_numero_boleto" do
137
- @valid_attributes[:data_documento] = Date.parse("2009-08-14")
138
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
135
+ it 'Montar nosso_numero_boleto' do
136
+ @valid_attributes[:data_documento] = Date.parse('2009-08-14')
137
+ boleto_novo = described_class.new(@valid_attributes)
139
138
 
140
- boleto_novo.numero_documento = "4042"
141
- boleto_novo.carteira = "CNR"
142
- expect(boleto_novo.nosso_numero_boleto).to eql("0000000004042847")
139
+ boleto_novo.numero_documento = '4042'
140
+ boleto_novo.carteira = 'CNR'
141
+ expect(boleto_novo.nosso_numero_boleto).to eql('0000000004042847')
143
142
  expect(boleto_novo.nosso_numero_dv).to eql(8)
144
143
 
145
144
  boleto_novo.numero_documento = 4042
146
- boleto_novo.carteira = "CNR"
147
- expect(boleto_novo.nosso_numero_boleto).to eql("0000000004042847")
145
+ boleto_novo.carteira = 'CNR'
146
+ expect(boleto_novo.nosso_numero_boleto).to eql('0000000004042847')
148
147
  expect(boleto_novo.nosso_numero_dv).to eql(8)
149
148
 
150
- boleto_novo.carteira = "CSB"
151
- boleto_novo.nosso_numero = "0000000061900049"
152
- expect(boleto_novo.nosso_numero_boleto).to eql("0000000061900049")
149
+ boleto_novo.carteira = 'CSB'
150
+ boleto_novo.nosso_numero = '0000000061900049'
151
+ expect(boleto_novo.nosso_numero_boleto).to eql('0000000061900049')
153
152
  expect(boleto_novo.nosso_numero_dv).to eql(8)
154
153
  end
155
154
 
156
- it "Montar agencia_conta_boleto" do
157
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
155
+ it 'Montar agencia_conta_boleto' do
156
+ boleto_novo = described_class.new(@valid_attributes)
158
157
 
159
- expect(boleto_novo.agencia_conta_boleto).to eql("0061900")
160
- boleto_novo.agencia = "0719"
161
- expect(boleto_novo.agencia_conta_boleto).to eql("0061900")
162
- boleto_novo.agencia = "0548"
163
- boleto_novo.conta_corrente = "1448"
164
- expect(boleto_novo.agencia_conta_boleto).to eql("0001448")
158
+ expect(boleto_novo.agencia_conta_boleto).to eql('0061900')
159
+ boleto_novo.agencia = '0719'
160
+ expect(boleto_novo.agencia_conta_boleto).to eql('0061900')
161
+ boleto_novo.agencia = '0548'
162
+ boleto_novo.conta_corrente = '1448'
163
+ expect(boleto_novo.agencia_conta_boleto).to eql('0001448')
165
164
  end
166
165
 
167
- it "Busca logotipo do banco" do
168
- boleto_novo = Brcobranca::Boleto::Hsbc.new
166
+ it 'Busca logotipo do banco' do
167
+ boleto_novo = described_class.new
169
168
  expect(File.exist?(boleto_novo.logotipo)).to be_truthy
170
169
  expect(File.stat(boleto_novo.logotipo).zero?).to be_falsey
171
170
  end
172
171
 
173
- it "Gerar boleto nos formatos válidos com método to_" do
172
+ it 'Gerar boleto nos formatos válidos com método to_' do
174
173
  @valid_attributes[:valor] = 2952.95
175
- @valid_attributes[:data_documento] = Date.parse("2009-04-03")
174
+ @valid_attributes[:data_documento] = Date.parse('2009-04-03')
176
175
  @valid_attributes[:dias_vencimento] = 5
177
- @valid_attributes[:numero_documento] = "12345678"
178
- @valid_attributes[:conta_corrente] = "1122334"
179
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
176
+ @valid_attributes[:numero_documento] = '12345678'
177
+ @valid_attributes[:conta_corrente] = '1122334'
178
+ boleto_novo = described_class.new(@valid_attributes)
180
179
 
181
- %w| pdf jpg tif png |.each do |format|
182
- file_body=boleto_novo.send("to_#{format}".to_sym)
183
- tmp_file=Tempfile.new("foobar." << format)
180
+ %w(pdf jpg tif png).each do |format|
181
+ file_body = boleto_novo.send("to_#{format}".to_sym)
182
+ tmp_file = Tempfile.new('foobar.' << format)
184
183
  tmp_file.puts file_body
185
184
  tmp_file.close
186
185
  expect(File.exist?(tmp_file.path)).to be_truthy
@@ -190,17 +189,17 @@ describe Brcobranca::Boleto::Hsbc do
190
189
  end
191
190
  end
192
191
 
193
- it "Gerar boleto nos formatos válidos" do
192
+ it 'Gerar boleto nos formatos válidos' do
194
193
  @valid_attributes[:valor] = 2952.95
195
- @valid_attributes[:data_documento] = Date.parse("2009-04-03")
194
+ @valid_attributes[:data_documento] = Date.parse('2009-04-03')
196
195
  @valid_attributes[:dias_vencimento] = 5
197
- @valid_attributes[:numero_documento] = "12345678"
198
- @valid_attributes[:conta_corrente] = "1122334"
199
- boleto_novo = Brcobranca::Boleto::Hsbc.new(@valid_attributes)
196
+ @valid_attributes[:numero_documento] = '12345678'
197
+ @valid_attributes[:conta_corrente] = '1122334'
198
+ boleto_novo = described_class.new(@valid_attributes)
200
199
 
201
- %w| pdf jpg tif png |.each do |format|
202
- file_body=boleto_novo.to(format)
203
- tmp_file=Tempfile.new("foobar." << format)
200
+ %w(pdf jpg tif png).each do |format|
201
+ file_body = boleto_novo.to(format)
202
+ tmp_file = Tempfile.new('foobar.' << format)
204
203
  tmp_file.puts file_body
205
204
  tmp_file.close
206
205
  expect(File.exist?(tmp_file.path)).to be_truthy