boleto_bancario 0.0.1.beta → 0.0.2

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 (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -2
  3. data/.travis.yml +10 -0
  4. data/Changelog.markdown +4 -0
  5. data/Gemfile +1 -1
  6. data/Planning.markdown +18 -86
  7. data/README.markdown +107 -55
  8. data/Rakefile +7 -1
  9. data/TODO.markdown +15 -1
  10. data/boleto_bancario.gemspec +7 -3
  11. data/lib/boleto_bancario.rb +27 -15
  12. data/lib/boleto_bancario/calculos/modulo11_fator_de9a2.rb +65 -0
  13. data/lib/boleto_bancario/calculos/modulo11_fator_de9a2_resto_x.rb +5 -51
  14. data/lib/boleto_bancario/calculos/modulo_numero_de_controle.rb +117 -0
  15. data/lib/boleto_bancario/core/banco_brasil.rb +30 -5
  16. data/lib/boleto_bancario/core/banrisul.rb +182 -0
  17. data/lib/boleto_bancario/core/boleto.rb +67 -34
  18. data/lib/boleto_bancario/core/bradesco.rb +28 -16
  19. data/lib/boleto_bancario/core/caixa.rb +233 -0
  20. data/lib/boleto_bancario/core/hsbc.rb +170 -0
  21. data/lib/boleto_bancario/core/itau.rb +20 -10
  22. data/lib/boleto_bancario/core/real.rb +177 -0
  23. data/lib/boleto_bancario/core/santander.rb +19 -22
  24. data/lib/boleto_bancario/core/sicoob.rb +172 -0
  25. data/lib/boleto_bancario/core/sicredi.rb +290 -0
  26. data/lib/boleto_bancario/version.rb +1 -2
  27. data/spec/boleto_bancario/calculos/modulo10_spec.rb +4 -0
  28. data/spec/boleto_bancario/calculos/modulo11_fator_de2a9_spec.rb +6 -0
  29. data/spec/boleto_bancario/calculos/modulo11_fator_de9a2_spec.rb +31 -0
  30. data/spec/boleto_bancario/calculos/modulo_numero_de_controle_spec.rb +37 -0
  31. data/spec/boleto_bancario/core/banco_brasil_spec.rb +59 -65
  32. data/spec/boleto_bancario/core/banrisul_spec.rb +129 -0
  33. data/spec/boleto_bancario/core/boleto_spec.rb +148 -32
  34. data/spec/boleto_bancario/core/bradesco_spec.rb +29 -36
  35. data/spec/boleto_bancario/core/caixa_spec.rb +111 -0
  36. data/spec/boleto_bancario/core/hsbc_spec.rb +72 -0
  37. data/spec/boleto_bancario/core/itau_spec.rb +33 -36
  38. data/spec/boleto_bancario/core/real_spec.rb +104 -0
  39. data/spec/boleto_bancario/core/santander_spec.rb +26 -24
  40. data/spec/boleto_bancario/core/sicoob_spec.rb +111 -0
  41. data/spec/boleto_bancario/core/sicredi_spec.rb +149 -0
  42. data/spec/inheritance/banco_brasil_spec.rb +22 -0
  43. data/spec/inheritance/banrisul_spec.rb +22 -0
  44. data/spec/inheritance/boleto_spec.rb +15 -0
  45. data/spec/inheritance/bradesco_spec.rb +22 -0
  46. data/spec/inheritance/caixa_spec.rb +22 -0
  47. data/spec/inheritance/hsbc_spec.rb +22 -0
  48. data/spec/inheritance/itau_spec.rb +22 -0
  49. data/spec/inheritance/real_spec.rb +22 -0
  50. data/spec/inheritance/santander_spec.rb +22 -0
  51. data/spec/inheritance/sicoob_spec.rb +22 -0
  52. data/spec/inheritance/sicredi_spec.rb +22 -0
  53. data/spec/shared_examples/boleto_bancario_shared_example.rb +21 -34
  54. data/spec/spec_helper.rb +2 -2
  55. metadata +119 -47
  56. data/.rvmrc +0 -1
@@ -0,0 +1,129 @@
1
+ require 'spec_helper'
2
+
3
+ module BoletoBancario
4
+ module Core
5
+ describe Banrisul do
6
+ it_should_behave_like 'boleto bancario'
7
+
8
+ describe "on validations" do
9
+ it "agencia should have 3 digits" do
10
+ should have_valid(:agencia).when("1", "123", 1, 123)
11
+ should_not have_valid(:agencia).when(nil, "", "1234")
12
+ end
13
+
14
+ it "codigo cedente should have 07 digits" do
15
+ should have_valid(:codigo_cedente).when("1234567", "12", "12345")
16
+ should_not have_valid(:codigo_cedente).when(nil, "", "12345678", "123456789")
17
+ end
18
+
19
+ it "numero documento should have 8 digits" do
20
+ should have_valid(:numero_documento).when("12345678", "1234")
21
+ should_not have_valid(:numero_documento).when(nil, "", "123456789")
22
+ end
23
+
24
+ it "carteira is supported" do
25
+ should have_valid(:carteira).when('00', '08', 0, 8)
26
+ should_not have_valid(:carteira).when(nil, '', '5', '20', '100')
27
+ end
28
+
29
+ describe "#valor_documento" do
30
+ it { should have_valid(:valor_documento).when(1, 1.99, 100.99, 99_999_999.99, '100.99') }
31
+ it { should_not have_valid(:valor_documento).when(nil, '', '100,99', 100_000_000.99) }
32
+ end
33
+ end
34
+
35
+ describe "#agencia" do
36
+ context "when have a value" do
37
+ subject { Banrisul.new(agencia: '34') }
38
+
39
+ it { expect(subject.agencia).to eq '034' }
40
+ end
41
+
42
+ context "when is nil" do
43
+ subject { Banrisul.new(agencia: nil) }
44
+
45
+ it { expect(subject.agencia).to be nil }
46
+ end
47
+ end
48
+
49
+ describe "#numero_documento" do
50
+ context "when have a value" do
51
+ subject { Banrisul.new(numero_documento: '1234') }
52
+
53
+ it { expect(subject.numero_documento).to eq '00001234' }
54
+ end
55
+
56
+ context "when is nil" do
57
+ subject { Banrisul.new(numero_documento: nil) }
58
+
59
+ it { expect(subject.numero_documento).to be nil }
60
+ end
61
+ end
62
+
63
+ describe "#codigo_cedente" do
64
+ context "when have a value" do
65
+ subject { Banrisul.new(codigo_cedente: '1234') }
66
+
67
+ it { expect(subject.codigo_cedente).to eq '0001234' }
68
+ end
69
+
70
+ context "when is nil" do
71
+ subject { Banrisul.new(codigo_cedente: nil) }
72
+
73
+ it { expect(subject.codigo_cedente).to be nil }
74
+ end
75
+ end
76
+
77
+ describe "#codigo_banco" do
78
+ it { expect(subject.codigo_banco).to eq '041' }
79
+ end
80
+
81
+ describe "#digito_codigo_banco" do
82
+ it { expect(subject.digito_codigo_banco).to eq '8' }
83
+ end
84
+
85
+ describe "#agencia_codigo_cedente" do
86
+ subject { Banrisul.new(agencia: '100', codigo_cedente: '0000001') }
87
+
88
+ it { expect(subject.agencia_codigo_cedente).to eq '100.81 0000001.83' }
89
+ end
90
+
91
+ describe "#nosso_numero" do
92
+ context "using one example from documentation" do
93
+ subject { Banrisul.new(numero_documento: '00009194') }
94
+
95
+ it { expect(subject.nosso_numero).to eq '00009194.38' }
96
+ end
97
+
98
+ context "using other example from documentation" do
99
+ subject { Banrisul.new(numero_documento: '00009274') }
100
+
101
+ it { expect(subject.nosso_numero).to eq '00009274.22' }
102
+ end
103
+
104
+ context "another example" do
105
+ subject { Banrisul.new(numero_documento: '22832563') }
106
+
107
+ it { expect(subject.nosso_numero).to eq '22832563.51' }
108
+ end
109
+ end
110
+
111
+ describe "#codigo_de_barras" do
112
+ context "one example" do
113
+ subject do
114
+ Banrisul.new do |boleto|
115
+ boleto.numero_documento = 22832563
116
+ boleto.agencia = 100
117
+ boleto.data_vencimento = Date.parse('2004-07-04')
118
+ boleto.codigo_cedente = "0000001"
119
+ boleto.valor_documento = 5.0
120
+ end
121
+ end
122
+
123
+ it { expect(subject.codigo_de_barras).to eq '04197246200000005002110000000012283256304168' }
124
+ it { expect(subject.linha_digitavel).to eq '04192.11008 00000.012286 32563.041683 7 24620000000500' }
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -4,6 +4,34 @@ require 'spec_helper'
4
4
  module BoletoBancario
5
5
  module Core
6
6
  describe Boleto do
7
+ describe '.model_name' do
8
+ it 'returns Boleto' do
9
+ expect(Boleto.model_name).to eq 'BoletoBancario::Core::Boleto'
10
+ end
11
+ end
12
+
13
+ describe '.human_attribute_name' do
14
+ it 'respond to internationalization attribute' do
15
+ expect(Boleto).to respond_to(:human_attribute_name)
16
+ end
17
+ end
18
+
19
+ describe '#to_partial_path' do
20
+ subject(:boleto) { Boleto.new }
21
+
22
+ it 'returns the path from class name' do
23
+ expect(boleto.to_partial_path).to eq 'boleto_bancario/boleto'
24
+ end
25
+ end
26
+
27
+ describe '#to_model' do
28
+ subject(:boleto) { Boleto.new }
29
+
30
+ it 'returns the same object for comparison purposes' do
31
+ expect(boleto.to_model).to eq boleto
32
+ end
33
+ end
34
+
7
35
  describe '#initialize' do
8
36
  context 'when passing a Hash' do
9
37
  subject do
@@ -13,31 +41,41 @@ module BoletoBancario
13
41
  :data_vencimento => Date.new(2012, 10, 10),
14
42
  :carteira => '175',
15
43
  :agencia => '0098',
16
- :digito_agencia => '1',
17
44
  :conta_corrente => '98701',
18
45
  :cedente => 'Nome da razao social',
19
46
  :sacado => 'Teste',
20
47
  :documento_sacado => '725.275.005-10',
21
- :endereco_sacado => 'Rua teste, 23045'
48
+ :endereco_sacado => 'Rua teste, 23045',
49
+ :instrucoes1 => 'Lembrar de algo 1',
50
+ :instrucoes2 => 'Lembrar de algo 2',
51
+ :instrucoes3 => 'Lembrar de algo 3',
52
+ :instrucoes4 => 'Lembrar de algo 4',
53
+ :instrucoes5 => 'Lembrar de algo 5',
54
+ :instrucoes6 => 'Lembrar de algo 6',
22
55
  )
23
56
  end
24
57
 
25
- its(:numero_documento) { should eq '191075' }
26
- its(:valor_documento) { should eq 101.99 }
27
- its(:data_vencimento) { should eq Date.new(2012, 10, 10) }
28
- its(:carteira) { should eq '175' }
29
- its(:agencia) { should eq '0098' }
30
- its(:digito_agencia) { should eq '1' }
31
- its(:conta_corrente) { should eq '98701' }
32
- its(:codigo_moeda) { should eq '9' }
33
- its(:cedente) { should eq 'Nome da razao social' }
34
- its(:especie) { should eq 'R$' }
35
- its(:especie_documento) { should eq 'DM' }
36
- its(:data_documento) { should eq Date.today }
37
- its(:sacado) { should eq 'Teste' }
38
- its(:documento_sacado) { should eq '725.275.005-10' }
39
- its(:endereco_sacado) { should eq 'Rua teste, 23045'}
40
- its(:local_pagamento) { should eq 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO' }
58
+ it { expect(subject.numero_documento).to eq '191075' }
59
+ it { expect(subject.valor_documento).to eq 101.99 }
60
+ it { expect(subject.data_vencimento).to eq Date.new(2012, 10, 10) }
61
+ it { expect(subject.carteira).to eq '175' }
62
+ it { expect(subject.agencia).to eq '0098' }
63
+ it { expect(subject.conta_corrente).to eq '98701' }
64
+ it { expect(subject.codigo_moeda).to eq '9' }
65
+ it { expect(subject.cedente).to eq 'Nome da razao social' }
66
+ it { expect(subject.especie).to eq 'R$' }
67
+ it { expect(subject.especie_documento).to eq 'DM' }
68
+ it { expect(subject.data_documento).to eq Date.today }
69
+ it { expect(subject.sacado).to eq 'Teste' }
70
+ it { expect(subject.documento_sacado).to eq '725.275.005-10' }
71
+ it { expect(subject.endereco_sacado).to eq 'Rua teste, 23045' }
72
+ it { expect(subject.local_pagamento).to eq 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO' }
73
+ it { expect(subject.instrucoes1).to eq 'Lembrar de algo 1' }
74
+ it { expect(subject.instrucoes2).to eq 'Lembrar de algo 2' }
75
+ it { expect(subject.instrucoes3).to eq 'Lembrar de algo 3' }
76
+ it { expect(subject.instrucoes4).to eq 'Lembrar de algo 4' }
77
+ it { expect(subject.instrucoes5).to eq 'Lembrar de algo 5' }
78
+ it { expect(subject.instrucoes6).to eq 'Lembrar de algo 6' }
41
79
  end
42
80
 
43
81
  context 'when passing a block' do
@@ -54,27 +92,105 @@ module BoletoBancario
54
92
  boleto.cedente = 'Nome da razao social'
55
93
  boleto.documento_cedente = '62.526.713/0001-40'
56
94
  boleto.sacado = 'Teste'
95
+ boleto.instrucoes1 = 'Lembrar de algo 1'
96
+ boleto.instrucoes2 = 'Lembrar de algo 2'
97
+ boleto.instrucoes3 = 'Lembrar de algo 3'
98
+ boleto.instrucoes4 = 'Lembrar de algo 4'
99
+ boleto.instrucoes5 = 'Lembrar de algo 5'
100
+ boleto.instrucoes6 = 'Lembrar de algo 6'
57
101
  end
58
102
  end
59
103
 
60
- its(:numero_documento) { should eq '187390' }
61
- its(:valor_documento) { should eq 1 }
62
- its(:carteira) { should eq '109' }
63
- its(:agencia) { should eq '0914' }
64
- its(:conta_corrente) { should eq '82369' }
65
- its(:codigo_moeda) { should eq '9' }
66
- its(:codigo_cedente) { should eq '90182' }
67
- its(:endereco_cedente) { should eq 'Rua Itapaiuna, 2434' }
68
- its(:cedente) { should eq 'Nome da razao social' }
69
- its(:documento_cedente) { should eq '62.526.713/0001-40' }
70
- its(:sacado) { should eq 'Teste' }
104
+ it { expect(subject.numero_documento).to eq '187390' }
105
+ it { expect(subject.valor_documento).to eq 1 }
106
+ it { expect(subject.carteira).to eq '109' }
107
+ it { expect(subject.agencia).to eq '0914' }
108
+ it { expect(subject.conta_corrente).to eq '82369' }
109
+ it { expect(subject.codigo_moeda).to eq '9' }
110
+ it { expect(subject.codigo_cedente).to eq '90182' }
111
+ it { expect(subject.endereco_cedente).to eq 'Rua Itapaiuna, 2434' }
112
+ it { expect(subject.cedente).to eq 'Nome da razao social' }
113
+ it { expect(subject.documento_cedente).to eq '62.526.713/0001-40' }
114
+ it { expect(subject.sacado).to eq 'Teste' }
115
+ it { expect(subject.aceite).to be true }
116
+ it { expect(subject.instrucoes1).to eq 'Lembrar de algo 1' }
117
+ it { expect(subject.instrucoes2).to eq 'Lembrar de algo 2' }
118
+ it { expect(subject.instrucoes3).to eq 'Lembrar de algo 3' }
119
+ it { expect(subject.instrucoes4).to eq 'Lembrar de algo 4' }
120
+ it { expect(subject.instrucoes5).to eq 'Lembrar de algo 5' }
121
+ it { expect(subject.instrucoes6).to eq 'Lembrar de algo 6' }
71
122
  end
72
123
  end
73
124
 
74
125
  describe "#carteira_formatada" do
75
- it "should return 'carteira' as default" do
126
+ it "returns 'carteira' as default" do
76
127
  subject.stub(:carteira).and_return('Foo')
77
- subject.carteira_formatada.should eq 'Foo'
128
+
129
+ expect(subject.carteira_formatada).to eq 'Foo'
130
+ end
131
+ end
132
+
133
+ describe "#valor_documento_formatado" do
134
+ context "when period" do
135
+ before { subject.stub(:valor_documento).and_return(123.45) }
136
+
137
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000012345' }
138
+ end
139
+
140
+ context "when less than ten" do
141
+ before { subject.stub(:valor_documento).and_return(5.0) }
142
+
143
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000000500' }
144
+ end
145
+
146
+ context "when have many decimal points" do
147
+ before { subject.stub(:valor_documento).and_return(10.999999) }
148
+
149
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000001099' }
150
+ end
151
+
152
+ context "when integer" do
153
+ before { subject.stub(:valor_documento).and_return(1_999) }
154
+
155
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000199900' }
156
+ end
157
+
158
+ context "when period with string" do
159
+ before { subject.stub(:valor_documento).and_return('236.91') }
160
+
161
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000023691' }
162
+ end
163
+
164
+ context "when period with string with many decimals" do
165
+ before { subject.stub(:valor_documento).and_return('10.999999') }
166
+
167
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000001099' }
168
+ end
169
+
170
+ context "when the cents is not broken" do
171
+ before { subject.stub(:valor_documento).and_return(229.5) }
172
+
173
+ it { expect(subject.valor_formatado_para_codigo_de_barras).to eq '0000022950' }
174
+ end
175
+ end
176
+
177
+ describe "#aceite_formatado" do
178
+ context "when is true" do
179
+ subject { described_class.new(aceite: true) }
180
+
181
+ it { expect(subject.aceite_formatado).to eq 'S' }
182
+ end
183
+
184
+ context "when is false" do
185
+ subject { described_class.new(aceite: false) }
186
+
187
+ it { expect(subject.aceite_formatado).to eq 'N' }
188
+ end
189
+
190
+ context "when is nil" do
191
+ subject { described_class.new(aceite: nil) }
192
+
193
+ it { expect(subject.aceite_formatado).to eq 'N' }
78
194
  end
79
195
  end
80
196
 
@@ -99,4 +215,4 @@ module BoletoBancario
99
215
  end
100
216
  end
101
217
  end
102
- end
218
+ end
@@ -10,31 +10,28 @@ module BoletoBancario
10
10
  it { should have_valid(:agencia).when('1', '123', '1234') }
11
11
  it { should_not have_valid(:agencia).when('12345', '123456', '1234567', nil, '') }
12
12
 
13
- it { should have_valid(:digito_agencia).when('1', 'X', '4') }
14
- it { should_not have_valid(:digito_agencia).when(nil, '', '12', '123') }
15
-
16
13
  it { should have_valid(:conta_corrente).when('1', '123', '1234') }
17
14
  it { should_not have_valid(:conta_corrente).when('12345678', '123456789', nil, '') }
18
15
 
19
- it { should have_valid(:digito_conta_corrente).when('1', '4', 'X') }
20
- it { should_not have_valid(:digito_conta_corrente).when(nil, '', '12', '123') }
21
-
22
- it { should have_valid(:carteira).when(6, '6', '13') }
23
- it { should_not have_valid(:carteira).when('', nil, '102', '123') }
24
-
25
16
  it { should have_valid(:numero_documento).when(12345678911, '12345678911', '13') }
26
17
  it { should_not have_valid(:numero_documento).when('', nil, 123456789112, 1234567891113) }
18
+
19
+ it { should have_valid(:carteira).when('03', '06', '09', '19', '21', '22', 3, 9, 19, 21, 22) }
20
+ it { should_not have_valid(:carteira).when(nil, '', '05', '20', '100') }
21
+
22
+ it { should have_valid(:valor_documento).when(1, 1.99, 100.99, 99_999_999.99, '100.99') }
23
+ it { should_not have_valid(:valor_documento).when(nil, '', '100,99', 100_000_000.99) }
27
24
  end
28
25
 
29
26
  describe "#agencia" do
30
27
  context "when have a value" do
31
28
  subject { Bradesco.new(:agencia => 2) }
32
29
 
33
- its(:agencia) { should eq '0002' }
30
+ it { expect(subject.agencia).to eq '0002' }
34
31
  end
35
32
 
36
33
  context "when is nil" do
37
- its(:agencia) { should be nil }
34
+ it { expect(subject.agencia).to be nil }
38
35
  end
39
36
  end
40
37
 
@@ -42,11 +39,11 @@ module BoletoBancario
42
39
  context "when have a value" do
43
40
  subject { Bradesco.new(:conta_corrente => 1) }
44
41
 
45
- its(:conta_corrente) { should eq '0000001' }
42
+ it { expect(subject.conta_corrente).to eq '0000001' }
46
43
  end
47
44
 
48
45
  context "when is nil" do
49
- its(:conta_corrente) { should be nil }
46
+ it { expect(subject.conta_corrente).to be nil }
50
47
  end
51
48
  end
52
49
 
@@ -54,11 +51,11 @@ module BoletoBancario
54
51
  context "when have a value" do
55
52
  subject { Bradesco.new(:numero_documento => 1234) }
56
53
 
57
- its(:numero_documento) { should eq '00000001234' }
54
+ it { expect(subject.numero_documento).to eq '00000001234' }
58
55
  end
59
56
 
60
57
  context "when is nil" do
61
- its(:numero_documento) { should be nil }
58
+ it { expect(subject.numero_documento).to be nil }
62
59
  end
63
60
  end
64
61
 
@@ -66,11 +63,11 @@ module BoletoBancario
66
63
  context "when have a value" do
67
64
  subject { Bradesco.new(:carteira => 3) }
68
65
 
69
- its(:carteira) { should eq '03' }
66
+ it { expect(subject.carteira).to eq '03' }
70
67
  end
71
68
 
72
69
  context "when is nil" do
73
- its(:carteira) { should be nil }
70
+ it { expect(subject.carteira).to be nil }
74
71
  end
75
72
  end
76
73
 
@@ -78,53 +75,53 @@ module BoletoBancario
78
75
  context "when carteira is '21'" do
79
76
  subject { Bradesco.new(:carteira => 21) }
80
77
 
81
- its(:carteira_formatada) { should eq '21 – Cobrança Interna Com Registro' }
78
+ it { expect(subject.carteira_formatada).to eq '21 – Cobrança Interna Com Registro' }
82
79
  end
83
80
 
84
81
  context "when carteira is '22'" do
85
82
  subject { Bradesco.new(:carteira => 22) }
86
83
 
87
- its(:carteira_formatada) { should eq '22 – Cobrança Interna sem registro' }
84
+ it { expect(subject.carteira_formatada).to eq '22 – Cobrança Interna sem registro' }
88
85
  end
89
86
 
90
87
  context "when carteira is '03'" do
91
88
  subject { Bradesco.new(:carteira => 3) }
92
89
 
93
- its(:carteira_formatada) { should eq '03' }
90
+ it { expect(subject.carteira_formatada).to eq '03' }
94
91
  end
95
92
  end
96
93
 
97
94
  describe "#codigo_banco" do
98
- its(:codigo_banco) { should eq '237' }
95
+ it { expect(subject.codigo_banco).to eq '237' }
99
96
  end
100
97
 
101
98
  describe "#digito_codigo_banco" do
102
- its(:digito_codigo_banco) { should eq '2' }
99
+ it { expect(subject.digito_codigo_banco).to eq '2' }
103
100
  end
104
101
 
105
102
  describe "#agencia_codigo_cedente" do
106
- subject { Bradesco.new(agencia: '1172', digito_agencia: '0', conta_corrente: '0403005', digito_conta_corrente: '2') }
103
+ subject { Bradesco.new(agencia: '1172', conta_corrente: '0403005') }
107
104
 
108
- its(:agencia_codigo_cedente) { should eq '1172-0 / 0403005-2'}
105
+ it { expect(subject.agencia_codigo_cedente).to eq '1172-10 / 0403005-2' }
109
106
  end
110
107
 
111
108
  describe "#nosso_numero" do
112
109
  context "documentation example" do
113
110
  subject { Bradesco.new(:carteira => '19', :numero_documento => '00000000002') }
114
111
 
115
- its(:nosso_numero) { should eq '19/00000000002-8' }
112
+ it { expect(subject.nosso_numero).to eq '19/00000000002-8' }
116
113
  end
117
114
 
118
115
  context "more examples from documentation" do
119
116
  subject { Bradesco.new(:carteira => '19', :numero_documento => '00000000001') }
120
117
 
121
- its(:nosso_numero) { should eq '19/00000000001-P' }
118
+ it { expect(subject.nosso_numero).to eq '19/00000000001-P' }
122
119
  end
123
120
 
124
121
  context "more examples" do
125
122
  subject { Bradesco.new(:carteira => '06', :numero_documento => '00075896452') }
126
123
 
127
- its(:nosso_numero) { should eq '06/00075896452-5' }
124
+ it { expect(subject.nosso_numero).to eq '06/00075896452-5' }
128
125
  end
129
126
  end
130
127
 
@@ -137,14 +134,12 @@ module BoletoBancario
137
134
  boleto.valor_documento = 2952.95
138
135
  boleto.data_vencimento = Date.parse('2012-12-28')
139
136
  boleto.agencia = 1172
140
- boleto.digito_agencia = 0
141
137
  boleto.conta_corrente = 403005
142
- boleto.digito_conta_corrente = 2
143
138
  end
144
139
  end
145
140
 
146
- its(:codigo_de_barras) { should eq '23796556100002952951172060007589645204030050' }
147
- its(:linha_digitavel) { should eq '23791.17209 60007.589645 52040.300502 6 55610000295295' }
141
+ it { expect(subject.codigo_de_barras).to eq '23796556100002952951172060007589645204030050' }
142
+ it { expect(subject.linha_digitavel).to eq '23791.17209 60007.589645 52040.300502 6 55610000295295' }
148
143
  end
149
144
 
150
145
  context "when carteira '09'" do
@@ -155,16 +150,14 @@ module BoletoBancario
155
150
  boleto.valor_documento = 2959.78
156
151
  boleto.data_vencimento = Date.parse('2012-12-28')
157
152
  boleto.agencia = 1172
158
- boleto.digito_agencia = 0
159
153
  boleto.conta_corrente = 403005
160
- boleto.digito_conta_corrente = 2
161
154
  end
162
155
  end
163
156
 
164
- its(:codigo_de_barras) { should eq '23791556100002959781172090017589645104030050' }
165
- its(:linha_digitavel) { should eq '23791.17209 90017.589640 51040.300504 1 55610000295978' }
157
+ it { expect(subject.codigo_de_barras).to eq '23791556100002959781172090017589645104030050' }
158
+ it { expect(subject.linha_digitavel).to eq '23791.17209 90017.589640 51040.300504 1 55610000295978' }
166
159
  end
167
160
  end
168
161
  end
169
162
  end
170
- end
163
+ end