brcobranca 6.9.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile.lock +7 -7
  5. data/README.md +14 -12
  6. data/Rakefile +1 -0
  7. data/brcobranca.gemspec +1 -0
  8. data/lib/brcobranca/arquivos/logos/banrisul.eps +121 -0
  9. data/lib/brcobranca/arquivos/logos/banrisul_carne.eps +121 -0
  10. data/lib/brcobranca/boleto/banco_brasil.rb +8 -8
  11. data/lib/brcobranca/boleto/banco_nordeste.rb +1 -0
  12. data/lib/brcobranca/boleto/banestes.rb +10 -10
  13. data/lib/brcobranca/boleto/banrisul.rb +84 -0
  14. data/lib/brcobranca/boleto/base.rb +6 -5
  15. data/lib/brcobranca/boleto/bradesco.rb +2 -1
  16. data/lib/brcobranca/boleto/caixa.rb +6 -5
  17. data/lib/brcobranca/boleto/hsbc.rb +7 -6
  18. data/lib/brcobranca/boleto/itau.rb +1 -0
  19. data/lib/brcobranca/boleto/santander.rb +1 -0
  20. data/lib/brcobranca/boleto/sicoob.rb +12 -11
  21. data/lib/brcobranca/boleto/sicredi.rb +1 -0
  22. data/lib/brcobranca/boleto/template/base.rb +5 -4
  23. data/lib/brcobranca/boleto/template/rghost.rb +7 -6
  24. data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
  25. data/lib/brcobranca/boleto/unicred.rb +1 -1
  26. data/lib/brcobranca/calculo.rb +14 -15
  27. data/lib/brcobranca/calculo_data.rb +2 -0
  28. data/lib/brcobranca/currency.rb +4 -3
  29. data/lib/brcobranca/formatacao.rb +2 -1
  30. data/lib/brcobranca/formatacao_string.rb +1 -0
  31. data/lib/brcobranca/limpeza.rb +1 -0
  32. data/lib/brcobranca/remessa/base.rb +2 -1
  33. data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +7 -6
  34. data/lib/brcobranca/remessa/cnab240/base.rb +16 -15
  35. data/lib/brcobranca/remessa/cnab240/caixa.rb +1 -0
  36. data/lib/brcobranca/remessa/cnab240/sicoob.rb +9 -9
  37. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +2 -3
  38. data/lib/brcobranca/remessa/cnab400/base.rb +8 -7
  39. data/lib/brcobranca/remessa/cnab400/bradesco.rb +2 -1
  40. data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -2
  41. data/lib/brcobranca/remessa/cnab400/itau.rb +2 -1
  42. data/lib/brcobranca/remessa/cnab400/santander.rb +7 -5
  43. data/lib/brcobranca/remessa/cnab400/sicoob.rb +6 -5
  44. data/lib/brcobranca/remessa/pagamento.rb +4 -4
  45. data/lib/brcobranca/retorno/base.rb +1 -0
  46. data/lib/brcobranca/retorno/cnab240/base.rb +6 -7
  47. data/lib/brcobranca/retorno/cnab240/caixa.rb +1 -0
  48. data/lib/brcobranca/retorno/cnab240/santander.rb +3 -3
  49. data/lib/brcobranca/retorno/cnab240/sicoob.rb +7 -6
  50. data/lib/brcobranca/retorno/cnab400/base.rb +5 -6
  51. data/lib/brcobranca/retorno/cnab400/bradesco.rb +1 -0
  52. data/lib/brcobranca/retorno/cnab400/itau.rb +1 -0
  53. data/lib/brcobranca/retorno/retorno_cbr643.rb +1 -0
  54. data/lib/brcobranca/retorno/retorno_cnab240.rb +3 -2
  55. data/lib/brcobranca/retorno/retorno_cnab400.rb +1 -0
  56. data/lib/brcobranca/util/empresa.rb +2 -3
  57. data/lib/brcobranca/version.rb +2 -1
  58. data/lib/brcobranca.rb +3 -1
  59. data/spec/brcobranca/base_spec.rb +51 -50
  60. data/spec/brcobranca/boleto/banco_brasil_spec.rb +46 -45
  61. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +13 -12
  62. data/spec/brcobranca/boleto/banestes_spec.rb +108 -105
  63. data/spec/brcobranca/boleto/banrisul_spec.rb +165 -0
  64. data/spec/brcobranca/boleto/bradesco_spec.rb +56 -52
  65. data/spec/brcobranca/boleto/caixa_spec.rb +9 -7
  66. data/spec/brcobranca/boleto/hsbc_spec.rb +17 -15
  67. data/spec/brcobranca/boleto/itau_spec.rb +22 -20
  68. data/spec/brcobranca/boleto/santander_spec.rb +16 -14
  69. data/spec/brcobranca/boleto/sicoob_spec.rb +94 -94
  70. data/spec/brcobranca/boleto/sicredi_spec.rb +32 -28
  71. data/spec/brcobranca/boleto/unicred_spec.rb +16 -14
  72. data/spec/brcobranca/boletos_em_lote_spec.rb +4 -3
  73. data/spec/brcobranca/calculo_data_spec.rb +2 -1
  74. data/spec/brcobranca/calculo_spec.rb +97 -97
  75. data/spec/brcobranca/currency_spec.rb +6 -5
  76. data/spec/brcobranca/formatacao_spec.rb +1 -0
  77. data/spec/brcobranca/formatacao_string_spec.rb +1 -2
  78. data/spec/brcobranca/limpeza_spec.rb +1 -0
  79. data/spec/brcobranca/remessa/base_spec.rb +11 -9
  80. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +11 -9
  81. data/spec/brcobranca/remessa/cnab240/base_spec.rb +11 -9
  82. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +12 -10
  83. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +13 -11
  84. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +2 -1
  85. data/spec/brcobranca/remessa/cnab400/base_spec.rb +20 -18
  86. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +11 -9
  87. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -9
  88. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +11 -9
  89. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +12 -10
  90. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +11 -9
  91. data/spec/brcobranca/remessa/pagamento_spec.rb +12 -10
  92. data/spec/brcobranca/retorno/cnab240/base_spec.rb +10 -9
  93. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +23 -22
  94. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +21 -20
  95. data/spec/brcobranca/retorno/cnab400/base_spec.rb +13 -12
  96. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +3 -1
  97. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -1
  98. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +1 -0
  99. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +1 -0
  100. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -0
  101. data/spec/brcobranca/rghost_spec.rb +1 -0
  102. data/spec/brcobranca/util/empresa_spec.rb +13 -12
  103. data/spec/brcobranca_spec.rb +6 -5
  104. data/spec/spec_helper.rb +3 -3
  105. data/spec/support/remessa_helpers.rb +3 -1
  106. data/spec/support/shared_examples/busca_logotipo.rb +2 -0
  107. data/spec/support/shared_examples/cnab240.rb +22 -20
  108. data/spec/support/shared_examples/cnab400.rb +12 -12
  109. data/spec/support/shared_examples/formatos_validos.rb +6 -4
  110. metadata +7 -2
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  require 'parseline'
4
5
  module Brcobranca
@@ -40,8 +41,8 @@ module Brcobranca
40
41
  class Line < Base
41
42
  extend ParseLine::FixedWidth # Extendendo parseline
42
43
 
43
- REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa)
44
- REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito data_ocorrencia)
44
+ REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa).freeze
45
+ REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito data_ocorrencia).freeze
45
46
 
46
47
  attr_accessor :tipo_registro
47
48
 
@@ -1,5 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  #
3
+ #
3
4
  # DEPRECATED
4
5
  #
5
6
  # Classe original desenvolvida a partir do layout do Itau.
@@ -1,11 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  # @author Kivanio Barbosa
3
4
  module Brcobranca
4
5
  # Métodos auxiliares
5
6
  module Util
6
7
  class Empresa
7
-
8
- def initialize(documento, zero=true)
8
+ def initialize(documento, zero = true)
9
9
  @documento = documento
10
10
  @zero = zero
11
11
  end
@@ -26,4 +26,3 @@ module Brcobranca
26
26
  end
27
27
  end
28
28
  end
29
-
@@ -1,5 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  module Brcobranca
4
- VERSION = '6.9.1'
5
+ VERSION = '7.0.0'
5
6
  end
data/lib/brcobranca.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'active_model'
3
4
  require 'active_support/core_ext/date/calculations'
4
5
  require 'active_support/core_ext/time/calculations'
@@ -11,7 +12,7 @@ require 'brcobranca/currency'
11
12
 
12
13
  module Brcobranca
13
14
  # Exception lançada quando algum tipo de boleto soicitado ainda não tiver sido implementado.
14
- class NaoImplementado < NotImplementedError
15
+ class NaoImplementado < RuntimeError
15
16
  end
16
17
 
17
18
  class ValorInvalido < StandardError
@@ -108,6 +109,7 @@ module Brcobranca
108
109
  autoload :Unicred, 'brcobranca/boleto/unicred'
109
110
  autoload :Santander, 'brcobranca/boleto/santander'
110
111
  autoload :Banestes, 'brcobranca/boleto/banestes'
112
+ autoload :Banrisul, 'brcobranca/boleto/banrisul'
111
113
 
112
114
  # Módulos para classes de template
113
115
  module Template
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Boleto::Base do
@@ -22,31 +23,31 @@ RSpec.describe Brcobranca::Boleto::Base do
22
23
  end
23
24
 
24
25
  it 'Criar nova instancia com atributos padrões' do
25
- boleto_novo = Brcobranca::Boleto::Base.new
26
+ boleto_novo = described_class.new
26
27
  expect(boleto_novo.especie_documento).to eql('DM')
27
28
  expect(boleto_novo.especie).to eql('R$')
28
29
  expect(boleto_novo.moeda).to eql('9')
29
30
  expect(boleto_novo.data_documento).to eql(Date.current)
30
31
  expect(boleto_novo.data_vencimento).to eql(Date.current)
31
32
  expect(boleto_novo.aceite).to eql('S')
32
- expect(boleto_novo.quantidade).to eql(1)
33
- expect(boleto_novo.valor).to eql(0.0)
34
- expect(boleto_novo.valor_documento).to eql(0.0)
33
+ expect(boleto_novo.quantidade).to be(1)
34
+ expect(boleto_novo.valor).to be(0.0)
35
+ expect(boleto_novo.valor_documento).to be(0.0)
35
36
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
36
37
  expect(boleto_novo.valid?).to be_falsey
37
38
  end
38
39
 
39
40
  it 'Criar nova instancia com atributos válidos' do
40
- boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
41
+ boleto_novo = described_class.new(@valid_attributes)
41
42
  expect(boleto_novo.especie_documento).to eql('DM')
42
43
  expect(boleto_novo.especie).to eql('R$')
43
44
  expect(boleto_novo.moeda).to eql('9')
44
45
  expect(boleto_novo.data_documento).to eql(Date.current)
45
46
  expect(boleto_novo.data_vencimento).to eql(Date.current)
46
47
  expect(boleto_novo.aceite).to eql('S')
47
- expect(boleto_novo.quantidade).to eql(1)
48
- expect(boleto_novo.valor).to eql(0.0)
49
- expect(boleto_novo.valor_documento).to eql(0.00)
48
+ expect(boleto_novo.quantidade).to be(1)
49
+ expect(boleto_novo.valor).to be(0.0)
50
+ expect(boleto_novo.valor_documento).to be(0.00)
50
51
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
51
52
  expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
52
53
  expect(boleto_novo.documento_cedente).to eql('12345678912')
@@ -54,114 +55,114 @@ RSpec.describe Brcobranca::Boleto::Base do
54
55
  expect(boleto_novo.sacado_documento).to eql('12345678900')
55
56
  expect(boleto_novo.conta_corrente).to eql('0061900')
56
57
  expect(boleto_novo.agencia).to eql('4042')
57
- expect(boleto_novo.convenio).to eql(12_387_989)
58
+ expect(boleto_novo.convenio).to be(12_387_989)
58
59
  expect(boleto_novo.numero_documento).to eql('777700168')
59
60
  expect(boleto_novo.valid?).to be_truthy
60
61
  end
61
62
 
62
63
  it 'Calcula agencia_dv' do
63
- boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
64
+ boleto_novo = described_class.new(@valid_attributes)
64
65
  boleto_novo.agencia = '85068014982'
65
- expect(boleto_novo.agencia_dv).to eql(9)
66
+ expect(boleto_novo.agencia_dv).to be(9)
66
67
  boleto_novo.agencia = '05009401448'
67
- expect(boleto_novo.agencia_dv).to eql(1)
68
+ expect(boleto_novo.agencia_dv).to be(1)
68
69
  boleto_novo.agencia = '12387987777700168'
69
- expect(boleto_novo.agencia_dv).to eql(2)
70
+ expect(boleto_novo.agencia_dv).to be(2)
70
71
  boleto_novo.agencia = '4042'
71
- expect(boleto_novo.agencia_dv).to eql(8)
72
+ expect(boleto_novo.agencia_dv).to be(8)
72
73
  boleto_novo.agencia = '61900'
73
- expect(boleto_novo.agencia_dv).to eql(0)
74
+ expect(boleto_novo.agencia_dv).to be(0)
74
75
  boleto_novo.agencia = '0719'
75
- expect(boleto_novo.agencia_dv).to eql(6)
76
+ expect(boleto_novo.agencia_dv).to be(6)
76
77
  boleto_novo.agencia = 85_068_014_982
77
- expect(boleto_novo.agencia_dv).to eql(9)
78
+ expect(boleto_novo.agencia_dv).to be(9)
78
79
  boleto_novo.agencia = 5_009_401_448
79
- expect(boleto_novo.agencia_dv).to eql(1)
80
+ expect(boleto_novo.agencia_dv).to be(1)
80
81
  boleto_novo.agencia = 12_387_987_777_700_168
81
- expect(boleto_novo.agencia_dv).to eql(2)
82
+ expect(boleto_novo.agencia_dv).to be(2)
82
83
  boleto_novo.agencia = 4042
83
- expect(boleto_novo.agencia_dv).to eql(8)
84
+ expect(boleto_novo.agencia_dv).to be(8)
84
85
  boleto_novo.agencia = 61_900
85
- expect(boleto_novo.agencia_dv).to eql(0)
86
+ expect(boleto_novo.agencia_dv).to be(0)
86
87
  boleto_novo.agencia = 719
87
- expect(boleto_novo.agencia_dv).to eql(6)
88
+ expect(boleto_novo.agencia_dv).to be(6)
88
89
  end
89
90
 
90
91
  it 'Calcula conta_corrente_dv' do
91
- boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
92
+ boleto_novo = described_class.new(@valid_attributes)
92
93
  boleto_novo.conta_corrente = '85068014982'
93
- expect(boleto_novo.conta_corrente_dv).to eql(9)
94
+ expect(boleto_novo.conta_corrente_dv).to be(9)
94
95
  boleto_novo.conta_corrente = '05009401448'
95
- expect(boleto_novo.conta_corrente_dv).to eql(1)
96
+ expect(boleto_novo.conta_corrente_dv).to be(1)
96
97
  boleto_novo.conta_corrente = '12387987777700168'
97
- expect(boleto_novo.conta_corrente_dv).to eql(2)
98
+ expect(boleto_novo.conta_corrente_dv).to be(2)
98
99
  boleto_novo.conta_corrente = '4042'
99
- expect(boleto_novo.conta_corrente_dv).to eql(8)
100
+ expect(boleto_novo.conta_corrente_dv).to be(8)
100
101
  boleto_novo.conta_corrente = '61900'
101
- expect(boleto_novo.conta_corrente_dv).to eql(0)
102
+ expect(boleto_novo.conta_corrente_dv).to be(0)
102
103
  boleto_novo.conta_corrente = '0719'
103
- expect(boleto_novo.conta_corrente_dv).to eql(6)
104
+ expect(boleto_novo.conta_corrente_dv).to be(6)
104
105
  boleto_novo.conta_corrente = 85_068_014_982
105
- expect(boleto_novo.conta_corrente_dv).to eql(9)
106
+ expect(boleto_novo.conta_corrente_dv).to be(9)
106
107
  boleto_novo.conta_corrente = 5_009_401_448
107
- expect(boleto_novo.conta_corrente_dv).to eql(1)
108
+ expect(boleto_novo.conta_corrente_dv).to be(1)
108
109
  boleto_novo.conta_corrente = 12_387_987_777_700_168
109
- expect(boleto_novo.conta_corrente_dv).to eql(2)
110
+ expect(boleto_novo.conta_corrente_dv).to be(2)
110
111
  boleto_novo.conta_corrente = 4042
111
- expect(boleto_novo.conta_corrente_dv).to eql(8)
112
+ expect(boleto_novo.conta_corrente_dv).to be(8)
112
113
  boleto_novo.conta_corrente = 61_900
113
- expect(boleto_novo.conta_corrente_dv).to eql(0)
114
+ expect(boleto_novo.conta_corrente_dv).to be(0)
114
115
  boleto_novo.conta_corrente = 719
115
- expect(boleto_novo.conta_corrente_dv).to eql(6)
116
+ expect(boleto_novo.conta_corrente_dv).to be(6)
116
117
  end
117
118
 
118
119
  it 'Calcula o valor do documento' do
119
- boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
120
+ boleto_novo = described_class.new(@valid_attributes)
120
121
  boleto_novo.quantidade = 1
121
122
  boleto_novo.valor = 1
122
- expect(boleto_novo.valor_documento).to eql(1.0)
123
+ expect(boleto_novo.valor_documento).to be(1.0)
123
124
  boleto_novo.quantidade = 1
124
125
  boleto_novo.valor = 1.0
125
- expect(boleto_novo.valor_documento).to eql(1.0)
126
+ expect(boleto_novo.valor_documento).to be(1.0)
126
127
  boleto_novo.quantidade = 100
127
128
  boleto_novo.valor = 1
128
- expect(boleto_novo.valor_documento).to eql(100.0)
129
+ expect(boleto_novo.valor_documento).to be(100.0)
129
130
  boleto_novo.quantidade = 1
130
131
  boleto_novo.valor = 1.2
131
- expect(boleto_novo.valor_documento).to eql(1.2)
132
+ expect(boleto_novo.valor_documento).to be(1.2)
132
133
  boleto_novo.quantidade = 1
133
134
  boleto_novo.valor = 135.43
134
- expect(boleto_novo.valor_documento).to eql(135.43)
135
+ expect(boleto_novo.valor_documento).to be(135.43)
135
136
  boleto_novo.quantidade = 'gh'
136
137
  boleto_novo.valor = 135.43
137
- expect(boleto_novo.valor_documento).to eql(0.0)
138
+ expect(boleto_novo.valor_documento).to be(0.0)
138
139
  end
139
140
 
140
141
  it 'Mostrar aviso sobre sobrecarga de métodos padrões' do
141
- boleto_novo = Brcobranca::Boleto::Base.new(@valid_attributes)
142
+ boleto_novo = described_class.new(@valid_attributes)
142
143
  expect { boleto_novo.codigo_barras_segunda_parte }.to raise_error(Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando')
143
144
  expect { boleto_novo.nosso_numero_boleto }.to raise_error(Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando')
144
145
  expect { boleto_novo.agencia_conta_boleto }.to raise_error(Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando')
145
146
  end
146
147
 
147
148
  it 'Incluir módulos de template na classe' do
148
- expect(Brcobranca::Boleto::Base.respond_to?(:lote)).to be_truthy
149
- expect(Brcobranca::Boleto::Base.respond_to?(:to)).to be_truthy
149
+ expect(described_class.respond_to?(:lote)).to be_truthy
150
+ expect(described_class.respond_to?(:to)).to be_truthy
150
151
  end
151
152
 
152
153
  it 'Incluir módulos de template na instancia' do
153
- boleto_novo = Brcobranca::Boleto::Base.new
154
+ boleto_novo = described_class.new
154
155
  expect(boleto_novo.respond_to?(:lote)).to be_truthy
155
156
  expect(boleto_novo.respond_to?(:to)).to be_truthy
156
157
  end
157
158
 
158
159
  it 'data_documento em string' do
159
- boleto_novo = Brcobranca::Boleto::Base.new(data_documento: '2015-06-15')
160
- expect(boleto_novo.data_documento).to eql("2015-06-15")
160
+ boleto_novo = described_class.new(data_documento: '2015-06-15')
161
+ expect(boleto_novo.data_documento).to eql('2015-06-15')
161
162
  end
162
163
 
163
164
  it 'data_vencimento em string' do
164
- boleto_novo = Brcobranca::Boleto::Base.new(data_vencimento: '2015-06-15')
165
- expect(boleto_novo.data_vencimento).to eql("2015-06-15")
165
+ boleto_novo = described_class.new(data_vencimento: '2015-06-15')
166
+ expect(boleto_novo.data_vencimento).to eql('2015-06-15')
166
167
  end
167
168
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
@@ -26,9 +27,9 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
26
27
  expect(boleto_novo.data_documento).to eql(Date.current)
27
28
  expect(boleto_novo.data_vencimento).to eql(Date.current)
28
29
  expect(boleto_novo.aceite).to eql('S')
29
- expect(boleto_novo.quantidade).to eql(1)
30
- expect(boleto_novo.valor).to eql(0.0)
31
- expect(boleto_novo.valor_documento).to eql(0.0)
30
+ expect(boleto_novo.quantidade).to be(1)
31
+ expect(boleto_novo.valor).to be(0.0)
32
+ expect(boleto_novo.valor_documento).to be(0.0)
32
33
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
33
34
  expect(boleto_novo.carteira).to eql('18')
34
35
  expect(boleto_novo.codigo_servico).to be_falsey
@@ -43,9 +44,9 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
43
44
  expect(boleto_novo.data_documento).to eql(Date.current)
44
45
  expect(boleto_novo.data_vencimento).to eql(Date.current)
45
46
  expect(boleto_novo.aceite).to eql('S')
46
- expect(boleto_novo.quantidade).to eql(1)
47
- expect(boleto_novo.valor).to eql(0.0)
48
- expect(boleto_novo.valor_documento).to eql(0.0)
47
+ expect(boleto_novo.quantidade).to be(1)
48
+ expect(boleto_novo.valor).to be(0.0)
49
+ expect(boleto_novo.valor_documento).to be(0.0)
49
50
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
50
51
  expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
51
52
  expect(boleto_novo.documento_cedente).to eql('12345678912')
@@ -53,7 +54,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
53
54
  expect(boleto_novo.sacado_documento).to eql('12345678900')
54
55
  expect(boleto_novo.conta_corrente).to eql('00061900')
55
56
  expect(boleto_novo.agencia).to eql('4042')
56
- expect(boleto_novo.convenio).to eql(12_387_989)
57
+ expect(boleto_novo.convenio).to be(12_387_989)
57
58
  expect(boleto_novo.numero_documento).to eql('777700168')
58
59
  expect(boleto_novo.carteira).to eql('18')
59
60
  expect(boleto_novo.codigo_servico).to be_falsey
@@ -68,8 +69,8 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
68
69
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001238798977770016818')
69
70
  expect(boleto_novo.codigo_barras).to eql('00193376900000135000000001238798977770016818')
70
71
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01238.798977 77700.168188 3 37690000013500')
71
- expect(boleto_novo.conta_corrente_dv).to eql(0)
72
- expect(boleto_novo.nosso_numero_dv).to eql(7)
72
+ expect(boleto_novo.conta_corrente_dv).to be(0)
73
+ expect(boleto_novo.nosso_numero_dv).to be(7)
73
74
 
74
75
  @valid_attributes[:data_vencimento] = Date.parse('2008-02-02')
75
76
  @valid_attributes[:numero_documento] = '7700168'
@@ -78,8 +79,8 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
78
79
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001238798900770016818')
79
80
  expect(boleto_novo.codigo_barras).to eql('00193377000000135000000001238798900770016818')
80
81
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01238.798902 07700.168185 3 37700000013500')
81
- expect(boleto_novo.conta_corrente_dv).to eql(0)
82
- expect(boleto_novo.nosso_numero_dv).to eql(7)
82
+ expect(boleto_novo.conta_corrente_dv).to be(0)
83
+ expect(boleto_novo.nosso_numero_dv).to be(7)
83
84
  end
84
85
 
85
86
  it 'Montar código de barras para convenio de 7 digitos e nosso numero de 10' do
@@ -93,7 +94,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
93
94
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001238798777770016818')
94
95
  expect(boleto_novo.codigo_barras).to eql('00193377100000135000000001238798777770016818')
95
96
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01238.798779 77700.168188 3 37710000013500')
96
- expect(boleto_novo.conta_corrente_dv).to eql(0)
97
+ expect(boleto_novo.conta_corrente_dv).to be(0)
97
98
 
98
99
  @valid_attributes[:valor] = 723.56
99
100
  @valid_attributes[:data_documento] = Date.parse('2008-02-01')
@@ -105,7 +106,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
105
106
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001238798777770016818')
106
107
  expect(boleto_novo.codigo_barras).to eql('00195377100000723560000001238798777770016818')
107
108
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01238.798779 77700.168188 5 37710000072356')
108
- expect(boleto_novo.conta_corrente_dv).to eql(0)
109
+ expect(boleto_novo.conta_corrente_dv).to be(0)
109
110
 
110
111
  @valid_attributes[:valor] = 723.56
111
112
  @valid_attributes[:data_documento] = Date.parse('2008-02-01')
@@ -117,7 +118,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
117
118
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001238798777770016818')
118
119
  expect(boleto_novo.codigo_barras).to eql('00194376900000723560000001238798777770016818')
119
120
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01238.798779 77700.168188 4 37690000072356')
120
- expect(boleto_novo.conta_corrente_dv).to eql(0)
121
+ expect(boleto_novo.conta_corrente_dv).to be(0)
121
122
  end
122
123
 
123
124
  it 'Montar código de barras para convenio de 6 digitos e nosso numero de 5' do
@@ -128,7 +129,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
128
129
  @valid_attributes[:numero_documento] = '1234'
129
130
  boleto_novo = described_class.new(@valid_attributes)
130
131
 
131
- expect(boleto_novo.conta_corrente_dv).to eql(0)
132
+ expect(boleto_novo.conta_corrente_dv).to be(0)
132
133
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1238790123440420006190018')
133
134
  expect(boleto_novo.codigo_barras).to eql('00192376900000135001238790123440420006190018')
134
135
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00191.23876 90123.440423 00061.900189 2 37690000013500')
@@ -144,7 +145,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
144
145
  @valid_attributes[:codigo_servico] = true
145
146
  boleto_novo = described_class.new(@valid_attributes)
146
147
 
147
- expect(boleto_novo.conta_corrente_dv).to eql(0)
148
+ expect(boleto_novo.conta_corrente_dv).to be(0)
148
149
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1238790000000123456789921')
149
150
  expect(boleto_novo.codigo_barras).to eql('00199376900000135001238790000000123456789921')
150
151
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00191.23876 90000.000126 34567.899215 9 37690000013500')
@@ -160,7 +161,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
160
161
  @valid_attributes[:codigo_servico] = true
161
162
  boleto_novo = described_class.new(@valid_attributes)
162
163
 
163
- expect(boleto_novo.conta_corrente_dv).to eql(0)
164
+ expect(boleto_novo.conta_corrente_dv).to be(0)
164
165
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1238790000000123456789921')
165
166
  expect(boleto_novo.codigo_barras).to eql('00199376900000135001238790000000123456789921')
166
167
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00191.23876 90000.000126 34567.899215 9 37690000013500')
@@ -176,7 +177,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
176
177
  @valid_attributes[:codigo_servico] = true
177
178
  boleto_novo = described_class.new(@valid_attributes)
178
179
 
179
- expect(boleto_novo.conta_corrente_dv).to eql(0)
180
+ expect(boleto_novo.conta_corrente_dv).to be(0)
180
181
  expect { boleto_novo.codigo_barras_segunda_parte }.to raise_error(RuntimeError)
181
182
  expect { boleto_novo.codigo_barras_segunda_parte }.to raise_error('Só é permitido emitir boletos com nosso número de 17 dígitos com carteiras 16 ou 18. Sua carteira atual é 17')
182
183
  end
@@ -190,7 +191,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
190
191
  @valid_attributes[:codigo_servico] = true
191
192
  boleto_novo = described_class.new(@valid_attributes)
192
193
 
193
- expect(boleto_novo.conta_corrente_dv).to eql(0)
194
+ expect(boleto_novo.conta_corrente_dv).to be(0)
194
195
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1238012345640420006190018')
195
196
  expect(boleto_novo.codigo_barras).to eql('00191376900000135001238012345640420006190018')
196
197
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00191.23801 12345.640424 00061.900189 1 37690000013500')
@@ -206,7 +207,7 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
206
207
  sacado_documento: '12345678900',
207
208
  agencia: '3174',
208
209
  conta_corrente: '00011672',
209
- convenio: 1474166,
210
+ convenio: 1_474_166,
210
211
  numero_documento: '0000000328',
211
212
  carteira: '17',
212
213
  data_documento: Date.parse('2016-07-05'),
@@ -218,64 +219,64 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
218
219
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('0000001474166000000032817')
219
220
  expect(boleto_novo.codigo_barras).to eql('00191684600002246740000001474166000000032817')
220
221
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('00190.00009 01474.166004 00000.328179 1 68460000224674')
221
- expect(boleto_novo.conta_corrente_dv).to eql(6)
222
- expect(boleto_novo.nosso_numero_dv).to eql(4)
222
+ expect(boleto_novo.conta_corrente_dv).to be(6)
223
+ expect(boleto_novo.nosso_numero_dv).to be(4)
223
224
  end
224
225
 
225
226
  it 'Não permitir gerar boleto com atributos inválido' do
226
227
  boleto_novo = described_class.new
227
228
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::NaoImplementado)
228
- expect(boleto_novo.errors.count).to eql(2)
229
+ expect(boleto_novo.errors.count).to be(2)
229
230
  end
230
231
 
231
232
  it 'Calcular agencia_dv' do
232
233
  boleto_novo = described_class.new(@valid_attributes)
233
234
  boleto_novo.agencia = '85068014982'
234
- expect(boleto_novo.agencia_dv).to eql(9)
235
+ expect(boleto_novo.agencia_dv).to be(9)
235
236
  boleto_novo.agencia = '05009401448'
236
- expect(boleto_novo.agencia_dv).to eql(1)
237
+ expect(boleto_novo.agencia_dv).to be(1)
237
238
  boleto_novo.agencia = '12387987777700168'
238
- expect(boleto_novo.agencia_dv).to eql(2)
239
+ expect(boleto_novo.agencia_dv).to be(2)
239
240
  boleto_novo.agencia = '4042'
240
- expect(boleto_novo.agencia_dv).to eql(8)
241
+ expect(boleto_novo.agencia_dv).to be(8)
241
242
  boleto_novo.agencia = '61900'
242
- expect(boleto_novo.agencia_dv).to eql(0)
243
+ expect(boleto_novo.agencia_dv).to be(0)
243
244
  boleto_novo.agencia = '0719'
244
- expect(boleto_novo.agencia_dv).to eql(6)
245
+ expect(boleto_novo.agencia_dv).to be(6)
245
246
  boleto_novo.agencia = 85_068_014_982
246
- expect(boleto_novo.agencia_dv).to eql(9)
247
+ expect(boleto_novo.agencia_dv).to be(9)
247
248
  boleto_novo.agencia = 5_009_401_448
248
- expect(boleto_novo.agencia_dv).to eql(1)
249
+ expect(boleto_novo.agencia_dv).to be(1)
249
250
  boleto_novo.agencia = 12_387_987_777_700_168
250
- expect(boleto_novo.agencia_dv).to eql(2)
251
+ expect(boleto_novo.agencia_dv).to be(2)
251
252
  boleto_novo.agencia = 4042
252
- expect(boleto_novo.agencia_dv).to eql(8)
253
+ expect(boleto_novo.agencia_dv).to be(8)
253
254
  boleto_novo.agencia = 61_900
254
- expect(boleto_novo.agencia_dv).to eql(0)
255
+ expect(boleto_novo.agencia_dv).to be(0)
255
256
  boleto_novo.agencia = 719
256
- expect(boleto_novo.agencia_dv).to eql(6)
257
+ expect(boleto_novo.agencia_dv).to be(6)
257
258
  end
258
259
 
259
260
  it 'Montar nosso_numero_boleto' do
260
261
  boleto_novo = described_class.new(@valid_attributes)
261
262
  boleto_novo.numero_documento = '4042'
262
263
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000004042')
263
- expect(boleto_novo.nosso_numero_dv).to eql(4)
264
+ expect(boleto_novo.nosso_numero_dv).to be(4)
264
265
  boleto_novo.numero_documento = '61900'
265
266
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000061900')
266
- expect(boleto_novo.nosso_numero_dv).to eql(7)
267
+ expect(boleto_novo.nosso_numero_dv).to be(7)
267
268
  boleto_novo.numero_documento = '0719'
268
269
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000000719')
269
- expect(boleto_novo.nosso_numero_dv).to eql(2)
270
+ expect(boleto_novo.nosso_numero_dv).to be(2)
270
271
  boleto_novo.numero_documento = 4042
271
272
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000004042')
272
- expect(boleto_novo.nosso_numero_dv).to eql(4)
273
+ expect(boleto_novo.nosso_numero_dv).to be(4)
273
274
  boleto_novo.numero_documento = 61_900
274
275
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000061900')
275
- expect(boleto_novo.nosso_numero_dv).to eql(7)
276
+ expect(boleto_novo.nosso_numero_dv).to be(7)
276
277
  boleto_novo.numero_documento = 719
277
278
  expect(boleto_novo.nosso_numero_boleto).to eql('12387989000000719')
278
- expect(boleto_novo.nosso_numero_dv).to eql(2)
279
+ expect(boleto_novo.nosso_numero_dv).to be(2)
279
280
  end
280
281
 
281
282
  it 'Montar agencia_conta_boleto' do
@@ -302,12 +303,12 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
302
303
  boleto_novo = described_class.new(@valid_attributes)
303
304
  %w(pdf jpg tif png).each do |format|
304
305
  file_body = boleto_novo.send("to_#{format}".to_sym)
305
- tmp_file = Tempfile.new('foobar.' << format)
306
+ tmp_file = Tempfile.new(['foobar.', format])
306
307
  tmp_file.puts file_body
307
308
  tmp_file.close
308
309
  expect(File.exist?(tmp_file.path)).to be_truthy
309
310
  expect(File.stat(tmp_file.path).zero?).to be_falsey
310
- expect(File.delete(tmp_file.path)).to eql(1)
311
+ expect(File.delete(tmp_file.path)).to be(1)
311
312
  expect(File.exist?(tmp_file.path)).to be_falsey
312
313
  end
313
314
  end
@@ -321,12 +322,12 @@ RSpec.describe Brcobranca::Boleto::BancoBrasil do #:nodoc:[all]
321
322
  boleto_novo = described_class.new(@valid_attributes)
322
323
  %w(pdf jpg tif png).each do |format|
323
324
  file_body = boleto_novo.to(format)
324
- tmp_file = Tempfile.new('foobar.' << format)
325
+ tmp_file = Tempfile.new(['foobar.', format])
325
326
  tmp_file.puts file_body
326
327
  tmp_file.close
327
328
  expect(File.exist?(tmp_file.path)).to be_truthy
328
329
  expect(File.stat(tmp_file.path).zero?).to be_falsey
329
- expect(File.delete(tmp_file.path)).to eql(1)
330
+ expect(File.delete(tmp_file.path)).to be(1)
330
331
  expect(File.exist?(tmp_file.path)).to be_falsey
331
332
  end
332
333
  end
@@ -1,4 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
3
+
2
4
  require 'spec_helper'
3
5
 
4
6
  RSpec.describe Brcobranca::Boleto::BancoNordeste do #:nodoc:[all]
@@ -26,9 +28,9 @@ RSpec.describe Brcobranca::Boleto::BancoNordeste do #:nodoc:[all]
26
28
  expect(boleto_novo.data_documento).to eql(Date.today)
27
29
  expect(boleto_novo.data_vencimento).to eql(Date.today)
28
30
  expect(boleto_novo.aceite).to eql('S')
29
- expect(boleto_novo.quantidade).to eql(1)
30
- expect(boleto_novo.valor).to eql(0.0)
31
- expect(boleto_novo.valor_documento).to eql(0.0)
31
+ expect(boleto_novo.quantidade).to be(1)
32
+ expect(boleto_novo.valor).to be(0.0)
33
+ expect(boleto_novo.valor_documento).to be(0.0)
32
34
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
33
35
  expect(boleto_novo.carteira).to eql('21')
34
36
  end
@@ -42,9 +44,9 @@ RSpec.describe Brcobranca::Boleto::BancoNordeste do #:nodoc:[all]
42
44
  expect(boleto_novo.data_documento).to eql(Date.today)
43
45
  expect(boleto_novo.data_vencimento).to eql(Date.today)
44
46
  expect(boleto_novo.aceite).to eql('S')
45
- expect(boleto_novo.quantidade).to eql(1)
46
- expect(boleto_novo.valor).to eql(25.0)
47
- expect(boleto_novo.valor_documento).to eql(25.0)
47
+ expect(boleto_novo.quantidade).to be(1)
48
+ expect(boleto_novo.valor).to be(25.0)
49
+ expect(boleto_novo.valor_documento).to be(25.0)
48
50
  expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
49
51
  expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
50
52
  expect(boleto_novo.documento_cedente).to eql('12345678912')
@@ -76,26 +78,25 @@ RSpec.describe Brcobranca::Boleto::BancoNordeste do #:nodoc:[all]
76
78
  it 'Não permitir gerar boleto com atributos inválido' do
77
79
  boleto_novo = described_class.new
78
80
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
79
- expect(boleto_novo.errors.count).to eql(5)
81
+ expect(boleto_novo.errors.count).to be(5)
80
82
  end
81
83
 
82
84
  it 'Montar nosso_numero_dv' do
83
85
  @valid_attributes[:numero_documento] = '0000010'
84
86
  boleto_novo = described_class.new(@valid_attributes)
85
- expect(boleto_novo.nosso_numero_dv).to eql(8)
87
+ expect(boleto_novo.nosso_numero_dv).to be(8)
86
88
 
87
89
  @valid_attributes[:numero_documento] = '0020572'
88
90
  boleto_novo = described_class.new(@valid_attributes)
89
- expect(boleto_novo.nosso_numero_dv).to eql(9)
91
+ expect(boleto_novo.nosso_numero_dv).to be(9)
90
92
 
91
93
  @valid_attributes[:numero_documento] = '1961005'
92
94
  boleto_novo = described_class.new(@valid_attributes)
93
- expect(boleto_novo.nosso_numero_dv).to eql(0)
95
+ expect(boleto_novo.nosso_numero_dv).to be(0)
94
96
 
95
97
  @valid_attributes[:numero_documento] = '0000053'
96
98
  boleto_novo = described_class.new(@valid_attributes)
97
- expect(boleto_novo.nosso_numero_dv).to eql(1)
98
-
99
+ expect(boleto_novo.nosso_numero_dv).to be(1)
99
100
  end
100
101
 
101
102
  it 'Montar nosso_numero_boleto' do