br_boleto 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/Gemfile.lock +3 -3
  4. data/README.markdown +196 -11
  5. data/Rakefile +5 -0
  6. data/br_boleto.gemspec +1 -1
  7. data/lib/br_boleto.rb +30 -12
  8. data/lib/br_boleto/{core/boleto.rb → boleto/base.rb} +83 -5
  9. data/lib/br_boleto/boleto/sicoob.rb +211 -0
  10. data/lib/br_boleto/calculos/modulo11_fator3197.rb +5 -5
  11. data/lib/br_boleto/helper/cpf_cnpj.rb +60 -0
  12. data/lib/br_boleto/helper/number.rb +15 -0
  13. data/lib/br_boleto/remessa/base.rb +89 -0
  14. data/lib/br_boleto/remessa/cnab240/base.rb +328 -0
  15. data/lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb +186 -0
  16. data/lib/br_boleto/remessa/cnab240/helper/header_lote.rb +180 -0
  17. data/lib/br_boleto/remessa/cnab240/helper/segmento_p.rb +349 -0
  18. data/lib/br_boleto/remessa/cnab240/helper/segmento_q.rb +206 -0
  19. data/lib/br_boleto/remessa/cnab240/helper/segmento_r.rb +261 -0
  20. data/lib/br_boleto/remessa/cnab240/helper/segmento_s.rb +193 -0
  21. data/lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb +88 -0
  22. data/lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb +75 -0
  23. data/lib/br_boleto/remessa/cnab240/sicoob.rb +246 -0
  24. data/lib/br_boleto/remessa/lote.rb +52 -0
  25. data/lib/br_boleto/remessa/pagamento.rb +238 -0
  26. data/lib/br_boleto/string_methods.rb +21 -0
  27. data/lib/br_boleto/version.rb +2 -2
  28. data/test/br_boleto/{core/boleto_test.rb → boleto/base_test.rb} +107 -11
  29. data/test/br_boleto/{core → boleto}/sicoob_test.rb +60 -2
  30. data/test/br_boleto/remessa/base_test.rb +80 -0
  31. data/test/br_boleto/remessa/cnab240/base_test.rb +405 -0
  32. data/test/br_boleto/remessa/cnab240/helper/header_arquivo_test.rb +208 -0
  33. data/test/br_boleto/remessa/cnab240/helper/header_lote_test.rb +200 -0
  34. data/test/br_boleto/remessa/cnab240/helper/segmento_p_test.rb +390 -0
  35. data/test/br_boleto/remessa/cnab240/helper/segmento_q_test.rb +223 -0
  36. data/test/br_boleto/remessa/cnab240/helper/segmento_r_test.rb +260 -0
  37. data/test/br_boleto/remessa/cnab240/helper/segmento_s_test.rb +217 -0
  38. data/test/br_boleto/remessa/cnab240/helper/trailer_arquivo_test.rb +82 -0
  39. data/test/br_boleto/remessa/cnab240/helper/trailer_lote_test.rb +67 -0
  40. data/test/br_boleto/remessa/cnab240/sicoob_test.rb +347 -0
  41. data/test/br_boleto/remessa/lote_test.rb +49 -0
  42. data/test/br_boleto/remessa/pagamento_test.rb +339 -0
  43. data/test/factories/{boleto.rb → boleto/base.rb} +1 -1
  44. data/test/factories/{boleto_sicoob.rb → boleto/boleto_sicoob.rb} +1 -1
  45. data/test/factories/remessa/base.rb +13 -0
  46. data/test/factories/remessa/cnab240/base.rb +18 -0
  47. data/test/factories/remessa/cnab240/sicoob.rb +18 -0
  48. data/test/factories/remessa/lote.rb +7 -0
  49. data/test/factories/remessa/pagamento.rb +16 -0
  50. data/test/inheritance/boleto_test.rb +1 -1
  51. data/test/inheritance/sicoob_test.rb +1 -1
  52. metadata +65 -13
  53. data/lib/br_boleto/core/sicoob.rb +0 -169
@@ -0,0 +1,52 @@
1
+ # -*- encoding: utf-8 -*-
2
+ module BrBoleto
3
+ module Remessa
4
+ class Lote
5
+ # Seguindo a interface do Active Model para:
6
+ # * Validações;
7
+ # * Internacionalização;
8
+ # * Nomes das classes para serem manipuladas;
9
+ #
10
+ include ActiveModel::Model
11
+
12
+ # variavel que terá os pagamentos no qual será gerado o lote do arquivo de remessa
13
+ # Pode haver 1 ou vários pagamentos para o mesmo arquivo
14
+ attr_accessor :pagamentos
15
+
16
+ def self.class_for_pagamentos
17
+ BrBoleto::Remessa::Pagamento
18
+ end
19
+
20
+ def initialize(attributes = {})
21
+ self.pagamentos = [] # Para poder utilizar o << para incrementar o array
22
+ assign_attributes(attributes)
23
+ yield self if block_given?
24
+ end
25
+
26
+ def assign_attributes(attributes)
27
+ attributes ||= {}
28
+ attributes.each do |name, value|
29
+ send("#{name}=", value)
30
+ end
31
+ end
32
+
33
+ validates_each :pagamentos do |record, attr, value|
34
+ record.errors.add(attr, 'não pode estar vazio.') if value.empty?
35
+ value.each do |pagamento|
36
+ if pagamento.is_a? record.class.class_for_pagamentos
37
+ if pagamento.invalid?
38
+ pagamento.errors.full_messages.each { |msg| record.errors.add(attr, msg) }
39
+ end
40
+ else
41
+ record.errors.add(attr, 'cada item deve ser um objeto Pagamento.')
42
+ end
43
+ end
44
+ end
45
+
46
+ # O atributo pagamentos sempre irá retornar umm Array
47
+ def pagamentos
48
+ @pagamentos = [@pagamentos].flatten
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,238 @@
1
+ # -*- encoding: utf-8 -*-
2
+ module BrBoleto
3
+ module Remessa
4
+ class Pagamento
5
+ # Seguindo a interface do Active Model para:
6
+ # * Validações;
7
+ # * Internacionalização;
8
+ # * Nomes das classes para serem manipuladas;
9
+ #
10
+ include ActiveModel::Model
11
+
12
+ # <b>REQUERIDO</b>: nosso numero
13
+ attr_accessor :nosso_numero
14
+
15
+ # <b>REQUERIDO</b>: data do vencimento do boleto
16
+ attr_accessor :data_vencimento
17
+
18
+ # <b>REQUERIDO</b>: data de emissao do boleto
19
+ attr_accessor :data_emissao
20
+
21
+ # <b>REQUERIDO</b>: valor_documento do boleto
22
+ attr_accessor :valor_documento
23
+
24
+ # <b>REQUERIDO</b>: documento do sacado (cliente)
25
+ attr_accessor :documento_sacado
26
+
27
+ # <b>REQUERIDO</b>: nome do sacado (cliente)
28
+ attr_accessor :nome_sacado
29
+
30
+ # <b>REQUERIDO</b>: endereco do sacado (cliente)
31
+ attr_accessor :endereco_sacado
32
+
33
+ # <b>REQUERIDO</b>: bairro do sacado (cliente)
34
+ attr_accessor :bairro_sacado
35
+
36
+ # <b>REQUERIDO</b>: CEP do sacado (cliente)
37
+ attr_accessor :cep_sacado
38
+
39
+ # <b>REQUERIDO</b>: cidade do sacado (cliente)
40
+ attr_accessor :cidade_sacado
41
+
42
+ # <b>REQUERIDO</b>: UF do sacado (cliente)
43
+ attr_accessor :uf_sacado
44
+
45
+ # <b>REQUERIDO</b>: Tipor de impressão
46
+ # 1 - Frente do Bloqueto
47
+ # 2 - Verso do Bloauqto
48
+ # 3 - Corpo de instruções da Ficha de Complansação
49
+ #
50
+ attr_accessor :tipo_impressao # Default '1'
51
+
52
+ # <b>OPCIONAL</b>: nome do avalista
53
+ attr_accessor :nome_avalista
54
+
55
+ # <b>OPCIONAL</b>: documento do avalista
56
+ attr_accessor :documento_avalista
57
+
58
+ # <b>OPCIONAL</b>: codigo da 1a instrucao
59
+ attr_accessor :cod_primeira_instrucao
60
+
61
+ # <b>OPCIONAL</b>: codigo da 2a instrucao
62
+ attr_accessor :cod_segunda_instrucao
63
+
64
+ # <b>OPCIONAL</b>: valor da mora ao dia
65
+ attr_accessor :valor_mora
66
+
67
+ # <b>OPCIONAL</b>: data limite para o desconto
68
+ attr_accessor :data_desconto
69
+
70
+ # <b>OPCIONAL</b>: valor a ser concedido de desconto
71
+ attr_accessor :valor_desconto
72
+
73
+ # <b>OPCIONAL</b>: codigo do desconto (para CNAB240)
74
+ attr_accessor :cod_desconto
75
+
76
+ # <b>OPCIONAL</b>: valor do IOF
77
+ attr_accessor :valor_iof
78
+
79
+ # <b>OPCIONAL</b>: valor do abatimento
80
+ attr_accessor :valor_abatimento
81
+
82
+ # <b>OPCIONAL</b>: Informações para o desconto 2
83
+ attr_accessor :desconto_2_codigo, :desconto_2_data, :desconto_2_valor
84
+
85
+ # <b>OPCIONAL</b>: Informações para o desconto 3
86
+ attr_accessor :desconto_3_codigo, :desconto_3_data, :desconto_3_valor
87
+
88
+ # <b>OPCIONAL</b>: Informações para multa
89
+ attr_accessor :codigo_multa, :data_multa, :valor_multa
90
+
91
+
92
+ validates :nosso_numero, :data_vencimento, :valor_documento, :documento_sacado, :nome_sacado,
93
+ :endereco_sacado, :cep_sacado, :cidade_sacado, :uf_sacado, :bairro_sacado, :tipo_impressao,
94
+ presence: true
95
+
96
+ validates :cep_sacado, length: {is: 8, message: 'deve ter 8 dígitos.'}
97
+ validates :cod_desconto, length: {is: 1, message: 'deve ter 1 dígito.'}
98
+
99
+ # Nova instancia da classe Pagamento
100
+ #
101
+ # @param campos [Hash]
102
+ #
103
+ def initialize(attributes = {})
104
+ attributes = default_values.merge!(attributes)
105
+ assign_attributes(attributes)
106
+ yield self if block_given?
107
+ end
108
+
109
+ def assign_attributes(attributes={})
110
+ attributes ||= {}
111
+ attributes.each do |name, value|
112
+ send("#{name}=", value)
113
+ end
114
+ end
115
+
116
+ def nosso_numero
117
+ "#{@nosso_numero}".gsub(/[^0-9]/, "")
118
+ end
119
+
120
+ def default_values
121
+ {
122
+ data_emissao: Date.today,
123
+ valor_mora: 0.0,
124
+ valor_desconto: 0.0,
125
+ valor_iof: 0.0,
126
+ valor_abatimento: 0.0,
127
+ nome_avalista: '',
128
+ cod_desconto: '0',
129
+ desconto_2_codigo: '0',
130
+ desconto_2_valor: 0.0,
131
+ desconto_3_codigo: '0',
132
+ desconto_3_valor: 0.0,
133
+ codigo_multa: '0', # Isento
134
+ valor_multa: 0.0,
135
+ tipo_impressao: '1'
136
+ }
137
+ end
138
+
139
+ # Formata a data de descontos de acordo com o formato passado
140
+ #
141
+ # @return [String]
142
+ #
143
+ def data_desconto_formatado(formato = '%d%m%y')
144
+ formata_data(data_desconto, formato)
145
+ end
146
+ def desconto_2_data_formatado(formato = '%d%m%y')
147
+ formata_data(desconto_2_data, formato)
148
+ end
149
+ def desconto_3_data_formatado(formato = '%d%m%y')
150
+ formata_data(desconto_3_data, formato)
151
+ end
152
+
153
+ # Formatação para campos da multa
154
+ def data_multa_formatado(formato = '%d%m%y')
155
+ formata_data(data_multa, formato)
156
+ end
157
+ def valor_multa_formatado(tamanho=13)
158
+ BrBoleto::Helper::Number.new(valor_multa).formata_valor_monetario(tamanho)
159
+ end
160
+
161
+ # Formata o campo valor
162
+ # referentes as casas decimais
163
+ # exe. R$199,90 => 0000000019990
164
+ #
165
+ # @param tamanho [Integer]
166
+ # quantidade de caracteres a ser retornado
167
+ #
168
+ def valor_documento_formatado(tamanho = 13)
169
+ BrBoleto::Helper::Number.new(valor_documento).formata_valor_monetario(tamanho)
170
+ end
171
+
172
+ # Formata o campo valor da mora
173
+ #
174
+ # @param tamanho [Integer]
175
+ # quantidade de caracteres a ser retornado
176
+ #
177
+ def valor_mora_formatado(tamanho = 13)
178
+ BrBoleto::Helper::Number.new(valor_mora).formata_valor_monetario(tamanho)
179
+ end
180
+
181
+ # Formata o campo valor dos descontos
182
+ #
183
+ # @param tamanho [Integer]
184
+ # quantidade de caracteres a ser retornado
185
+ #
186
+ def valor_desconto_formatado(tamanho = 13)
187
+ BrBoleto::Helper::Number.new(valor_desconto).formata_valor_monetario(tamanho)
188
+ end
189
+ def desconto_2_valor_formatado(tamanho = 13)
190
+ BrBoleto::Helper::Number.new(desconto_2_valor).formata_valor_monetario(tamanho)
191
+ end
192
+ def desconto_3_valor_formatado(tamanho = 13)
193
+ BrBoleto::Helper::Number.new(desconto_3_valor).formata_valor_monetario(tamanho)
194
+ end
195
+
196
+ # Formata o campo valor do IOF
197
+ #
198
+ # @param tamanho [Integer]
199
+ # quantidade de caracteres a ser retornado
200
+ #
201
+ def valor_iof_formatado(tamanho = 13)
202
+ BrBoleto::Helper::Number.new(valor_iof).formata_valor_monetario(tamanho)
203
+ end
204
+
205
+ # Formata o campo valor do IOF
206
+ #
207
+ # @param tamanho [Integer]
208
+ # quantidade de caracteres a ser retornado
209
+ #
210
+ def valor_abatimento_formatado(tamanho = 13)
211
+ BrBoleto::Helper::Number.new(valor_abatimento).formata_valor_monetario(tamanho)
212
+ end
213
+
214
+ # Retorna a identificacao do pagador
215
+ # Se for pessoa fisica (CPF com 11 digitos) é 1
216
+ # Se for juridica (CNPJ com 14 digitos) é 2
217
+ #
218
+ def tipo_documento_sacado(tamanho = 2)
219
+ BrBoleto::Helper::CpfCnpj.new(documento_sacado).tipo_documento(tamanho)
220
+ end
221
+
222
+ # Retorna a identificacao do avalista
223
+ # Se for pessoa fisica (CPF com 11 digitos) é 1
224
+ # Se for juridica (CNPJ com 14 digitos) é 2
225
+ #
226
+ def tipo_documento_avalista(tamanho = 2)
227
+ BrBoleto::Helper::CpfCnpj.new(documento_avalista).tipo_documento(tamanho)
228
+ end
229
+ private
230
+
231
+ def formata_data(value, formato="%d%m%Y")
232
+ value.strftime(formato)
233
+ rescue
234
+ return (formato == '%d%m%y' ? '000000' : '00000000')
235
+ end
236
+ end
237
+ end
238
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ module BrBoleto
3
+ module StringMethods
4
+ # Formata o tamanho da string
5
+ # para o tamanho passado
6
+ # se a string for menor, adiciona espacos a direita
7
+ # se a string for maior, trunca para o num. de caracteres
8
+ #
9
+ def adjust_size_to(size, adjust=" ")
10
+ if self.size > size
11
+ truncate(size, omission: '')
12
+ else
13
+ ljust(size, adjust)
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ [String].each do |klass|
20
+ klass.class_eval { include BrBoleto::StringMethods }
21
+ end
@@ -1,7 +1,7 @@
1
1
  module BrBoleto
2
2
  module Version
3
- MAJOR = 0 #inclui alterações de API e pode quebrar compatibilidade com versões anteriores
4
- MINOR = 1 #inclui novas funcionalidades, sem quebrar APIs existentes
3
+ MAJOR = 1 #inclui alterações de API e pode quebrar compatibilidade com versões anteriores
4
+ MINOR = 0 #inclui novas funcionalidades, sem quebrar APIs existentes
5
5
  PATCH = 0 #corrige bugs ou traz melhorias em implementações já existentes
6
6
  CURRENT = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
@@ -1,25 +1,25 @@
1
1
  require 'test_helper'
2
2
 
3
- describe BrBoleto::Core::Boleto do
4
- subject { FactoryGirl.build(:core_boleto) }
3
+ describe BrBoleto::Boleto::Base do
4
+ subject { FactoryGirl.build(:boleto_base) }
5
5
 
6
6
  it { must validate_numericality_of(:valor_documento).is_less_than_or_equal_to(99999999.99) }
7
7
 
8
8
  describe "model_name" do
9
- it "must return BrBoleto::Core::Boleto" do
10
- BrBoleto::Core::Boleto.model_name.must_equal 'BrBoleto::Core::Boleto'
9
+ it "must return BrBoleto::Boleto::Base" do
10
+ BrBoleto::Boleto::Base.model_name.must_equal 'BrBoleto::Boleto::Base'
11
11
  end
12
12
  end
13
13
 
14
14
  describe "human_attribute_name" do
15
15
  it "must respond_to internationalization attribute" do
16
- BrBoleto::Core::Boleto.human_attribute_name(:same_thing).must_equal "Same thing"
16
+ BrBoleto::Boleto::Base.human_attribute_name(:same_thing).must_equal "Same thing"
17
17
  end
18
18
  end
19
19
 
20
20
  describe "to_partial_path" do
21
21
  it "must return the path from class name" do
22
- subject.to_partial_path.must_equal 'br_boleto/boleto'
22
+ subject.to_partial_path.must_equal 'br_boleto/base'
23
23
  end
24
24
  end
25
25
 
@@ -29,6 +29,12 @@ describe BrBoleto::Core::Boleto do
29
29
  end
30
30
  end
31
31
 
32
+ describe "#tipo_cobranca" do
33
+ it "default é nil" do
34
+ subject.tipo_cobranca.must_be_nil
35
+ end
36
+ end
37
+
32
38
  context '#initialize' do
33
39
  context "when passing a Hash" do
34
40
  before do
@@ -63,7 +69,7 @@ describe BrBoleto::Core::Boleto do
63
69
  it{ @object.especie_documento.must_equal 'DM' }
64
70
  it{ @object.data_documento.must_equal Date.today }
65
71
  it{ @object.sacado.must_equal 'Teste' }
66
- it{ @object.documento_sacado.must_equal '725.275.005-10' }
72
+ it{ @object.documento_sacado.must_equal '72527500510' }
67
73
  it{ @object.endereco_sacado.must_equal 'Rua teste, 23045'}
68
74
  it{ @object.local_pagamento.must_equal 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO' }
69
75
  it{ @object.instrucoes1.must_equal 'Lembrar de algo 1'}
@@ -106,7 +112,7 @@ describe BrBoleto::Core::Boleto do
106
112
  it {@object.codigo_cedente.must_equal '90182' }
107
113
  it {@object.endereco_cedente.must_equal 'Rua Itapaiuna, 2434' }
108
114
  it {@object.cedente.must_equal 'Nome da razao social' }
109
- it {@object.documento_cedente.must_equal '62.526.713/0001-40' }
115
+ it {@object.documento_cedente.must_equal '62526713000140' }
110
116
  it {@object.sacado.must_equal 'Teste' }
111
117
  it {@object.aceite.must_equal true }
112
118
  it {@object.instrucoes1.must_equal 'Lembrar de algo 1' }
@@ -118,6 +124,96 @@ describe BrBoleto::Core::Boleto do
118
124
  end
119
125
  end
120
126
 
127
+ describe "#documento_cedente" do
128
+ context "com CPF" do
129
+ before do
130
+ subject.documento_cedente = 2273542143
131
+ end
132
+ it "deve preencher com zeros a esquerda se for menor que 11" do
133
+ subject.documento_cedente.must_equal '02273542143'
134
+ end
135
+ it "deve remover a formatacao" do
136
+ subject.documento_cedente = '022.735.421-43'
137
+ subject.documento_cedente.must_equal '02273542143'
138
+ end
139
+ describe "metodo documento_cedente_formatado " do
140
+ it { subject.documento_cedente_formatado.must_equal '022.735.421-43' }
141
+ end
142
+ describe "metodo documento_cedente_formatado_com_label " do
143
+ it { subject.documento_cedente_formatado_com_label.must_equal 'CPF 022.735.421-43' }
144
+ end
145
+ end
146
+
147
+ context "com CNPJ" do
148
+ before do
149
+ subject.documento_cedente = 9372490000121
150
+ end
151
+ it "deve preencher com zeros a esquerda se tamanho for 12" do
152
+ subject.documento_cedente = 123456789012
153
+ subject.documento_cedente.must_equal '00123456789012'
154
+ end
155
+ it "deve preencher com zeros a esquerda se tamanho for 13" do
156
+ subject.documento_cedente = 9372490000121
157
+ subject.documento_cedente.must_equal '09372490000121'
158
+ end
159
+ it "deve remover a formatacao" do
160
+ subject.documento_cedente = '09.372.490/0001-21'
161
+ subject.documento_cedente.must_equal '09372490000121'
162
+ end
163
+ describe "metodo documento_cedente_formatado " do
164
+ it { subject.documento_cedente_formatado.must_equal '09.372.490/0001-21' }
165
+ end
166
+ describe "metodo documento_cedente_formatado_com_label " do
167
+ it { subject.documento_cedente_formatado_com_label.must_equal 'CNPJ 09.372.490/0001-21' }
168
+ end
169
+ end
170
+ end
171
+
172
+ describe "#documento_sacado" do
173
+ context "com CPF" do
174
+ before do
175
+ subject.documento_sacado = 2273542143
176
+ end
177
+ it "deve preencher com zeros a esquerda se for menor que 11" do
178
+ subject.documento_sacado.must_equal '02273542143'
179
+ end
180
+ it "deve remover a formatacao" do
181
+ subject.documento_sacado = '022.735.421-43'
182
+ subject.documento_sacado.must_equal '02273542143'
183
+ end
184
+ describe "metodo documento_sacado_formatado " do
185
+ it { subject.documento_sacado_formatado.must_equal '022.735.421-43' }
186
+ end
187
+ describe "metodo documento_sacado_formatado_com_label " do
188
+ it { subject.documento_sacado_formatado_com_label.must_equal 'CPF 022.735.421-43' }
189
+ end
190
+ end
191
+
192
+ context "com CNPJ" do
193
+ before do
194
+ subject.documento_sacado = 9372490000121
195
+ end
196
+ it "deve preencher com zeros a esquerda se tamanho for 12" do
197
+ subject.documento_sacado = 123456789012
198
+ subject.documento_sacado.must_equal '00123456789012'
199
+ end
200
+ it "deve preencher com zeros a esquerda se tamanho for 13" do
201
+ subject.documento_sacado = 9372490000121
202
+ subject.documento_sacado.must_equal '09372490000121'
203
+ end
204
+ it "deve remover a formatacao" do
205
+ subject.documento_sacado = '09.372.490/0001-21'
206
+ subject.documento_sacado.must_equal '09372490000121'
207
+ end
208
+ describe "metodo documento_sacado_formatado " do
209
+ it { subject.documento_sacado_formatado.must_equal '09.372.490/0001-21' }
210
+ end
211
+ describe "metodo documento_sacado_formatado_com_label " do
212
+ it { subject.documento_sacado_formatado_com_label.must_equal 'CNPJ 09.372.490/0001-21' }
213
+ end
214
+ end
215
+ end
216
+
121
217
  context "#carteira_formatada" do
122
218
  it "returns 'carteira' as default" do
123
219
  subject.stubs(:carteira).returns('Foo')
@@ -171,19 +267,19 @@ describe BrBoleto::Core::Boleto do
171
267
 
172
268
  describe "#aceite_formatado" do
173
269
  context "when is true" do
174
- subject { FactoryGirl.build(:core_boleto, aceite: true) }
270
+ subject { FactoryGirl.build(:boleto_base, aceite: true) }
175
271
 
176
272
  it{ subject.aceite_formatado.must_equal 'S' }
177
273
  end
178
274
 
179
275
  context "when is false" do
180
- subject { FactoryGirl.build(:core_boleto, aceite: false) }
276
+ subject { FactoryGirl.build(:boleto_base, aceite: false) }
181
277
 
182
278
  it{ subject.aceite_formatado.must_equal 'N' }
183
279
  end
184
280
 
185
281
  context "when is nil" do
186
- subject { FactoryGirl.build(:core_boleto, aceite: nil) }
282
+ subject { FactoryGirl.build(:boleto_base, aceite: nil) }
187
283
 
188
284
  it{ subject.aceite_formatado.must_equal 'N' }
189
285
  end