br_boleto 2.1.0 → 2.2.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.markdown +157 -8
  5. data/br_boleto.gemspec +1 -1
  6. data/lib/br_boleto.rb +12 -1
  7. data/lib/br_boleto/association/have_conta.rb +31 -27
  8. data/lib/br_boleto/boleto/banco_brasil.rb +130 -0
  9. data/lib/br_boleto/boleto/santander.rb +77 -0
  10. data/lib/br_boleto/conta/banco_brasil.rb +156 -0
  11. data/lib/br_boleto/conta/itau.rb +8 -3
  12. data/lib/br_boleto/conta/santander.rb +208 -0
  13. data/lib/br_boleto/remessa/cnab240/banco_brasil.rb +132 -0
  14. data/lib/br_boleto/remessa/cnab240/bradesco.rb +1 -3
  15. data/lib/br_boleto/remessa/cnab240/itau.rb +0 -6
  16. data/lib/br_boleto/remessa/cnab240/santander.rb +266 -0
  17. data/lib/br_boleto/remessa/cnab400/banco_brasil.rb +264 -0
  18. data/lib/br_boleto/remessa/cnab400/bradesco.rb +1 -1
  19. data/lib/br_boleto/remessa/cnab400/santander.rb +215 -0
  20. data/lib/br_boleto/retorno/cnab240/banco_brasil.rb +10 -0
  21. data/lib/br_boleto/retorno/cnab240/base.rb +3 -2
  22. data/lib/br_boleto/retorno/cnab240/caixa.rb +3 -2
  23. data/lib/br_boleto/retorno/cnab240/itau.rb +1 -2
  24. data/lib/br_boleto/retorno/cnab240/santander.rb +38 -0
  25. data/lib/br_boleto/retorno/cnab240/sicoob.rb +3 -2
  26. data/lib/br_boleto/retorno/cnab400/banco_brasil.rb +46 -0
  27. data/lib/br_boleto/retorno/cnab400/bradesco.rb +4 -3
  28. data/lib/br_boleto/retorno/cnab400/itau.rb +2 -2
  29. data/lib/br_boleto/retorno/cnab400/santander.rb +44 -0
  30. data/lib/br_boleto/retorno/cnab400/sicoob.rb +3 -2
  31. data/lib/br_boleto/retorno/cnab400/sicredi.rb +20 -6
  32. data/lib/br_boleto/retorno/pagamento.rb +28 -7
  33. data/lib/br_boleto/version.rb +1 -1
  34. data/test/br_boleto/boleto/banco_brasil_test.rb +183 -0
  35. data/test/br_boleto/boleto/santander_test.rb +122 -0
  36. data/test/br_boleto/conta/banco_brasil_test.rb +209 -0
  37. data/test/br_boleto/conta/santantader_test.rb +222 -0
  38. data/test/br_boleto/remessa/cnab240/banco_brasil_test.rb +187 -0
  39. data/test/br_boleto/remessa/cnab240/itau_test.rb +4 -0
  40. data/test/br_boleto/remessa/cnab240/santander_test.rb +144 -0
  41. data/test/br_boleto/remessa/cnab400/banco_brasil_test.rb +285 -0
  42. data/test/br_boleto/remessa/cnab400/bradesco_test.rb +7 -0
  43. data/test/br_boleto/remessa/cnab400/santander_test.rb +174 -0
  44. data/test/br_boleto/retorno/cnab240/banco_brasil_test.rb +271 -0
  45. data/test/br_boleto/retorno/cnab240/base_test.rb +20 -10
  46. data/test/br_boleto/retorno/cnab240/bradesco_test.rb +15 -15
  47. data/test/br_boleto/retorno/cnab240/caixa_test.rb +10 -10
  48. data/test/br_boleto/retorno/cnab240/cecred_test.rb +55 -138
  49. data/test/br_boleto/retorno/cnab240/itau_test.rb +15 -15
  50. data/test/br_boleto/retorno/cnab240/santander_test.rb +282 -0
  51. data/test/br_boleto/retorno/cnab240/sicoob_test.rb +25 -15
  52. data/test/br_boleto/retorno/cnab240/sicredi_test.rb +15 -15
  53. data/test/br_boleto/retorno/cnab240/unicred_test.rb +15 -15
  54. data/test/br_boleto/retorno/cnab400/banco_brasil_test.rb +7 -0
  55. data/test/br_boleto/retorno/cnab400/bradesco_test.rb +24 -12
  56. data/test/br_boleto/retorno/cnab400/itau_test.rb +6 -4
  57. data/test/br_boleto/retorno/cnab400/santander_test.rb +7 -0
  58. data/test/br_boleto/retorno/cnab400/sicoob_test.rb +20 -10
  59. data/test/br_boleto/retorno/cnab400/sicredi_test.rb +97 -1
  60. data/test/br_boleto/retorno/cnab400/unicred.rb +18 -18
  61. data/test/br_boleto/retorno/pagamento_test.rb +2 -2
  62. data/test/factories/boleto/boleto_banco_brasil.rb +18 -0
  63. data/test/factories/boleto/boleto_santander.rb +18 -0
  64. data/test/factories/conta/banco_brasil.rb +16 -0
  65. data/test/factories/conta/santander.rb +15 -0
  66. data/test/factories/remessa/cnab240/banco_brasil.rb +9 -0
  67. data/test/factories/remessa/cnab240/santander.rb +9 -0
  68. data/test/factories/remessa/cnab400/banco_brasil.rb +8 -0
  69. data/test/factories/remessa/cnab400/santander.rb +8 -0
  70. data/test/fixtures/retorno/cnab240/banco_brasil.ret +74 -0
  71. data/test/fixtures/retorno/cnab240/cecred.ret +10 -0
  72. data/test/fixtures/retorno/cnab240/santander.ret +16 -0
  73. data/test/fixtures/retorno/cnab400/sicredi.ret +4 -0
  74. metadata +64 -7
@@ -3,15 +3,15 @@ require 'test_helper'
3
3
  require 'pry'
4
4
  describe BrBoleto::Retorno::Cnab240::Cecred do
5
5
  subject { BrBoleto::Retorno::Cnab240::Cecred.new(file) }
6
- let(:file) { open_fixture('retorno/cnab240/padrao240.ret') }
6
+ let(:file) { open_fixture('retorno/cnab240/cecred.ret') }
7
7
 
8
8
 
9
9
  it "Deve ler o código do banco" do
10
- subject.codigo_banco.must_equal '756'
10
+ subject.codigo_banco.must_equal '085'
11
11
  end
12
12
 
13
- it "Deve carregar 5 pagamentos" do
14
- subject.pagamentos.size.must_equal 5
13
+ it "Deve carregar 3 pagamentos" do
14
+ subject.pagamentos.size.must_equal 3
15
15
  end
16
16
 
17
17
  describe "deve setar as informações corretas para os pagamentos" do
@@ -20,82 +20,82 @@ describe BrBoleto::Retorno::Cnab240::Cecred do
20
20
  pagamento.modalidade.must_equal nil
21
21
  pagamento.agencia_com_dv.must_equal "030690"
22
22
  pagamento.agencia_sem_dv.must_equal "03069"
23
- pagamento.numero_conta_com_dv.must_equal "0000000777778"
23
+ pagamento.numero_conta.must_equal "0000000777778"
24
24
  pagamento.numero_conta_dv.must_equal "8"
25
- pagamento.numero_conta.must_equal "000000077777"
25
+ pagamento.numero_conta_sem_dv.must_equal "000000077777"
26
26
  pagamento.dv_conta_e_agencia.must_equal "0"
27
- pagamento.nosso_numero.must_equal "000000033001014"
27
+ pagamento.nosso_numero_sem_dv.must_equal "00777778000000076"
28
28
  pagamento.carteira.must_equal "1"
29
- pagamento.numero_documento.must_equal "000000000000330"
30
- pagamento.data_vencimento.must_equal Date.parse('03/05/2016')
31
- pagamento.valor_titulo.must_equal 129.39
32
- pagamento.banco_recebedor.must_equal "756"
29
+ pagamento.numero_documento.must_equal "000000000000076"
30
+ pagamento.data_vencimento.must_equal Date.parse('20/12/2016')
31
+ pagamento.valor_titulo.must_equal 260.0
32
+ pagamento.banco_recebedor.must_equal "085"
33
33
  pagamento.agencia_recebedora_com_dv.must_equal "030690"
34
34
  pagamento.identificacao_titulo_empresa.must_equal ""
35
- pagamento.codigo_moeda.must_equal "09"
35
+ pagamento.codigo_moeda.must_equal "90"
36
36
  pagamento.sacado_tipo_documento.must_equal "2"
37
37
  pagamento.sacado_documento.must_equal "111111111111111"
38
- pagamento.sacado_nome.must_equal "NOME DO CLIENTE 1 ??O"
38
+ pagamento.sacado_nome.must_equal "EMPRESA DO CLIENTE1 LTDA"
39
39
  pagamento.numero_contrato.must_equal "0000000000"
40
- pagamento.valor_tarifa.must_equal 2.69
41
- pagamento.motivo_ocorrencia.must_equal "0000000004"
40
+ pagamento.valor_tarifa.must_equal 0.0
41
+ pagamento.motivo_ocorrencia.must_equal ""
42
42
  pagamento.valor_juros_multa.must_equal 0.0
43
43
  pagamento.valor_desconto.must_equal 0.0
44
44
  pagamento.valor_abatimento.must_equal 0.0
45
45
  pagamento.valor_iof.must_equal 0.0
46
- pagamento.valor_pago.must_equal 129.39
47
- pagamento.valor_liquido.must_equal 129.39
46
+ pagamento.valor_pago.must_equal 0.0
47
+ pagamento.valor_liquido.must_equal 0.0
48
48
  pagamento.valor_outras_despesas.must_equal 0.0
49
49
  pagamento.valor_outros_creditos.must_equal 0.0
50
- pagamento.data_ocorrencia.must_equal Date.parse('02/05/2016')
51
- pagamento.data_credito.must_equal Date.parse('03/05/2016')
50
+ pagamento.data_ocorrencia.must_equal Date.parse('07/12/2016')
51
+ pagamento.data_credito.must_equal nil
52
52
  pagamento.codigo_ocorrencia_sacado.must_equal ""
53
53
  pagamento.data_ocorrencia_sacado.must_equal nil
54
54
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
55
55
  pagamento.complemento_ocorrencia_sacado.must_equal ""
56
- pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
56
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
57
57
  pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
58
- pagamento.codigo_movimento_retorno.must_equal "06"
58
+ pagamento.codigo_movimento_retorno.must_equal "02"
59
59
  end
60
60
  it "valores para o pagamento 2" do
61
61
  pagamento = subject.pagamentos[1]
62
62
  pagamento.modalidade.must_equal nil
63
63
  pagamento.agencia_com_dv.must_equal "030690"
64
64
  pagamento.agencia_sem_dv.must_equal "03069"
65
- pagamento.numero_conta_com_dv.must_equal "0000000777778"
65
+ pagamento.numero_conta.must_equal "0000000777778"
66
66
  pagamento.numero_conta_dv.must_equal "8"
67
- pagamento.numero_conta.must_equal "000000077777"
67
+ pagamento.numero_conta_sem_dv.must_equal "000000077777"
68
68
  pagamento.dv_conta_e_agencia.must_equal "0"
69
- pagamento.nosso_numero.must_equal "000000034801024"
69
+ pagamento.nosso_numero_sem_dv.must_equal "00777778000000071"
70
70
  pagamento.carteira.must_equal "1"
71
- pagamento.numero_documento.must_equal "000000000000348"
72
- pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
73
- pagamento.valor_titulo.must_equal 29.0
74
- pagamento.banco_recebedor.must_equal "756"
75
- pagamento.agencia_recebedora_com_dv.must_equal "030690"
71
+ pagamento.numero_documento.must_equal "000000000000071"
72
+ pagamento.data_vencimento.must_equal Date.parse('07/12/2016')
73
+ pagamento.valor_titulo.must_equal 690.0
74
+ pagamento.banco_recebedor.must_equal "033"
75
+ pagamento.agencia_recebedora_com_dv.must_equal "001473"
76
76
  pagamento.identificacao_titulo_empresa.must_equal ""
77
- pagamento.codigo_moeda.must_equal "09"
77
+ pagamento.codigo_moeda.must_equal "90"
78
78
  pagamento.sacado_tipo_documento.must_equal "2"
79
79
  pagamento.sacado_documento.must_equal "222222222222222"
80
- pagamento.sacado_nome.must_equal "NOME DO CLIENTE 2"
80
+ pagamento.sacado_nome.must_equal "EMPRESA DO CLIENTE2 - ME"
81
81
  pagamento.numero_contrato.must_equal "0000000000"
82
- pagamento.valor_tarifa.must_equal 2.69
83
- pagamento.motivo_ocorrencia.must_equal "0000000004"
82
+ pagamento.valor_tarifa.must_equal 4.0
83
+ pagamento.motivo_ocorrencia.must_equal "33"
84
84
  pagamento.valor_juros_multa.must_equal 0.0
85
85
  pagamento.valor_desconto.must_equal 0.0
86
86
  pagamento.valor_abatimento.must_equal 0.0
87
87
  pagamento.valor_iof.must_equal 0.0
88
- pagamento.valor_pago.must_equal 29.0
89
- pagamento.valor_liquido.must_equal 29.0
88
+ pagamento.valor_pago.must_equal 690.0
89
+ pagamento.valor_liquido.must_equal 690.0
90
90
  pagamento.valor_outras_despesas.must_equal 0.0
91
91
  pagamento.valor_outros_creditos.must_equal 0.0
92
- pagamento.data_ocorrencia.must_equal Date.parse('05/05/2016')
93
- pagamento.data_credito.must_equal Date.parse('06/05/2016')
92
+ pagamento.data_ocorrencia.must_equal Date.parse('07/12/2016')
93
+ pagamento.data_credito.must_equal Date.parse('08/12/2016')
94
94
  pagamento.codigo_ocorrencia_sacado.must_equal ""
95
95
  pagamento.data_ocorrencia_sacado.must_equal nil
96
96
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
97
97
  pagamento.complemento_ocorrencia_sacado.must_equal ""
98
- pagamento.codigo_ocorrencia_banco_correspondente.must_equal "304"
98
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
99
99
  pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
100
100
  pagamento.codigo_movimento_retorno.must_equal "06"
101
101
  end
@@ -104,123 +104,40 @@ describe BrBoleto::Retorno::Cnab240::Cecred do
104
104
  pagamento.modalidade.must_equal nil
105
105
  pagamento.agencia_com_dv.must_equal "030690"
106
106
  pagamento.agencia_sem_dv.must_equal "03069"
107
- pagamento.numero_conta_com_dv.must_equal "0000000777778"
107
+ pagamento.numero_conta.must_equal "0000000777778"
108
108
  pagamento.numero_conta_dv.must_equal "8"
109
- pagamento.numero_conta.must_equal "000000077777"
109
+ pagamento.numero_conta_sem_dv.must_equal "000000077777"
110
110
  pagamento.dv_conta_e_agencia.must_equal "0"
111
- pagamento.nosso_numero.must_equal "000000035501014"
111
+ pagamento.nosso_numero_sem_dv.must_equal "00777778000000027"
112
112
  pagamento.carteira.must_equal "1"
113
- pagamento.numero_documento.must_equal "000000000000355"
114
- pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
115
- pagamento.valor_titulo.must_equal 89.1
116
- pagamento.banco_recebedor.must_equal "756"
117
- pagamento.agencia_recebedora_com_dv.must_equal "030690"
113
+ pagamento.numero_documento.must_equal "000000000000027"
114
+ pagamento.data_vencimento.must_equal Date.parse('10/12/2016')
115
+ pagamento.valor_titulo.must_equal 365.0
116
+ pagamento.banco_recebedor.must_equal "237"
117
+ pagamento.agencia_recebedora_com_dv.must_equal "031178"
118
118
  pagamento.identificacao_titulo_empresa.must_equal ""
119
- pagamento.codigo_moeda.must_equal "09"
119
+ pagamento.codigo_moeda.must_equal "90"
120
120
  pagamento.sacado_tipo_documento.must_equal "2"
121
121
  pagamento.sacado_documento.must_equal "333333333333333"
122
- pagamento.sacado_nome.must_equal "NOME DO CLIENTE 3"
122
+ pagamento.sacado_nome.must_equal "NOVA EMPRESA DO CLIENTE3 LTDA - ME"
123
123
  pagamento.numero_contrato.must_equal "0000000000"
124
- pagamento.valor_tarifa.must_equal 2.69
125
- pagamento.motivo_ocorrencia.must_equal "0000000004"
124
+ pagamento.valor_tarifa.must_equal 4.0
125
+ pagamento.motivo_ocorrencia.must_equal "33"
126
126
  pagamento.valor_juros_multa.must_equal 0.0
127
127
  pagamento.valor_desconto.must_equal 0.0
128
128
  pagamento.valor_abatimento.must_equal 0.0
129
129
  pagamento.valor_iof.must_equal 0.0
130
- pagamento.valor_pago.must_equal 89.1
131
- pagamento.valor_liquido.must_equal 89.1
130
+ pagamento.valor_pago.must_equal 365.0
131
+ pagamento.valor_liquido.must_equal 365.0
132
132
  pagamento.valor_outras_despesas.must_equal 0.0
133
133
  pagamento.valor_outros_creditos.must_equal 0.0
134
- pagamento.data_ocorrencia.must_equal Date.parse('05/05/2016')
135
- pagamento.data_credito.must_equal Date.parse('06/05/2016')
136
- pagamento.codigo_ocorrencia_sacado.must_equal ""
137
- pagamento.data_ocorrencia_sacado.must_equal nil
138
- pagamento.valor_ocorrencia_sacado.must_equal 0.0
139
- pagamento.complemento_ocorrencia_sacado.must_equal ""
140
- pagamento.codigo_ocorrencia_banco_correspondente.must_equal "100"
141
- pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
142
- pagamento.codigo_movimento_retorno.must_equal "06"
143
- end
144
- it "valores para o pagamento 4" do
145
- pagamento = subject.pagamentos[3]
146
- pagamento.modalidade.must_equal nil
147
- pagamento.agencia_com_dv.must_equal "030690"
148
- pagamento.agencia_sem_dv.must_equal "03069"
149
- pagamento.numero_conta_com_dv.must_equal "0000000777778"
150
- pagamento.numero_conta_dv.must_equal "8"
151
- pagamento.numero_conta.must_equal "000000077777"
152
- pagamento.dv_conta_e_agencia.must_equal "0"
153
- pagamento.nosso_numero.must_equal "000000036201014"
154
- pagamento.carteira.must_equal "1"
155
- pagamento.numero_documento.must_equal "000000000000362"
156
- pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
157
- pagamento.valor_titulo.must_equal 29.0
158
- pagamento.banco_recebedor.must_equal "104"
159
- pagamento.agencia_recebedora_com_dv.must_equal "004140"
160
- pagamento.identificacao_titulo_empresa.must_equal ""
161
- pagamento.codigo_moeda.must_equal "09"
162
- pagamento.sacado_tipo_documento.must_equal "1"
163
- pagamento.sacado_documento.must_equal "444444444444444"
164
- pagamento.sacado_nome.must_equal "NOME DO CLIENTE 4"
165
- pagamento.numero_contrato.must_equal "0000000000"
166
- pagamento.valor_tarifa.must_equal 2.69
167
- pagamento.motivo_ocorrencia.must_equal "0000000004"
168
- pagamento.valor_juros_multa.must_equal 0.0
169
- pagamento.valor_desconto.must_equal 0.0
170
- pagamento.valor_abatimento.must_equal 0.0
171
- pagamento.valor_iof.must_equal 0.0
172
- pagamento.valor_pago.must_equal 29.0
173
- pagamento.valor_liquido.must_equal 29.0
174
- pagamento.valor_outras_despesas.must_equal 0.0
175
- pagamento.valor_outros_creditos.must_equal 0.0
176
- pagamento.data_ocorrencia.must_equal Date.parse('06/05/2016')
177
- pagamento.data_credito.must_equal nil
178
- pagamento.codigo_ocorrencia_sacado.must_equal ""
179
- pagamento.data_ocorrencia_sacado.must_equal nil
180
- pagamento.valor_ocorrencia_sacado.must_equal 0.0
181
- pagamento.complemento_ocorrencia_sacado.must_equal ""
182
- pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
183
- pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
184
- pagamento.codigo_movimento_retorno.must_equal "06"
185
- end
186
- it "valores para o pagamento 4" do
187
- pagamento = subject.pagamentos[4]
188
- pagamento.agencia_com_dv.must_equal "030690"
189
- pagamento.agencia_sem_dv.must_equal "03069"
190
- pagamento.numero_conta_com_dv.must_equal "0000000777778"
191
- pagamento.numero_conta_dv.must_equal "8"
192
- pagamento.numero_conta.must_equal "000000077777"
193
- pagamento.dv_conta_e_agencia.must_equal "0"
194
- pagamento.nosso_numero.must_equal "000000036201014"
195
- pagamento.carteira.must_equal "1"
196
- pagamento.numero_documento.must_equal "000000000000362"
197
- pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
198
- pagamento.valor_titulo.must_equal 47.37
199
- pagamento.banco_recebedor.must_equal "104"
200
- pagamento.agencia_recebedora_com_dv.must_equal "004140"
201
- pagamento.identificacao_titulo_empresa.must_equal ""
202
- pagamento.codigo_moeda.must_equal "09"
203
- pagamento.sacado_tipo_documento.must_equal "1"
204
- pagamento.sacado_documento.must_equal "555555555555555"
205
- pagamento.sacado_nome.must_equal "NOME DO CLIENTE 5"
206
- pagamento.numero_contrato.must_equal "0000000000"
207
- pagamento.valor_tarifa.must_equal 2.69
208
- pagamento.motivo_ocorrencia.must_equal "0000000004"
209
- pagamento.valor_juros_multa.must_equal 0.0
210
- pagamento.valor_desconto.must_equal 0.0
211
- pagamento.valor_abatimento.must_equal 0.0
212
- pagamento.valor_iof.must_equal 0.0
213
- pagamento.valor_pago.must_equal 47.37
214
- pagamento.valor_liquido.must_equal 47.37
215
- pagamento.valor_outras_despesas.must_equal 0.0
216
- pagamento.valor_outros_creditos.must_equal 0.0
217
- pagamento.data_ocorrencia.must_equal Date.parse('06/05/2016')
218
- pagamento.data_credito.must_equal nil
134
+ pagamento.data_ocorrencia.must_equal Date.parse('07/12/2016')
135
+ pagamento.data_credito.must_equal Date.parse('08/12/2016')
219
136
  pagamento.codigo_ocorrencia_sacado.must_equal ""
220
137
  pagamento.data_ocorrencia_sacado.must_equal nil
221
138
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
222
139
  pagamento.complemento_ocorrencia_sacado.must_equal ""
223
- pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
140
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
224
141
  pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
225
142
  pagamento.codigo_movimento_retorno.must_equal "06"
226
143
  end
@@ -20,11 +20,11 @@ describe BrBoleto::Retorno::Cnab240::Itau do
20
20
  pagamento.modalidade.must_equal nil
21
21
  pagamento.agencia_com_dv.must_equal "030690"
22
22
  pagamento.agencia_sem_dv.must_equal "3069"
23
- pagamento.numero_conta_com_dv.must_equal "777770"
23
+ pagamento.numero_conta.must_equal "777770"
24
24
  pagamento.numero_conta_dv.must_equal "0"
25
- pagamento.numero_conta.must_equal "77777"
25
+ pagamento.numero_conta_sem_dv.must_equal "77777"
26
26
  pagamento.dv_conta_e_agencia.must_equal "8"
27
- pagamento.nosso_numero.must_equal "000000033001014"
27
+ pagamento.nosso_numero_sem_dv.must_equal "000000033001014"
28
28
  pagamento.carteira.must_equal "000"
29
29
  pagamento.numero_documento.must_equal "00003300"
30
30
  pagamento.data_vencimento.must_equal Date.parse('03/05/2016')
@@ -62,11 +62,11 @@ describe BrBoleto::Retorno::Cnab240::Itau do
62
62
  pagamento.modalidade.must_equal nil
63
63
  pagamento.agencia_com_dv.must_equal "030690"
64
64
  pagamento.agencia_sem_dv.must_equal "3069"
65
- pagamento.numero_conta_com_dv.must_equal "777770"
65
+ pagamento.numero_conta.must_equal "777770"
66
66
  pagamento.numero_conta_dv.must_equal "0"
67
- pagamento.numero_conta.must_equal "77777"
67
+ pagamento.numero_conta_sem_dv.must_equal "77777"
68
68
  pagamento.dv_conta_e_agencia.must_equal "8"
69
- pagamento.nosso_numero.must_equal "000000034801024"
69
+ pagamento.nosso_numero_sem_dv.must_equal "000000034801024"
70
70
  pagamento.carteira.must_equal "000"
71
71
  pagamento.numero_documento.must_equal "00003480"
72
72
  pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
@@ -104,11 +104,11 @@ describe BrBoleto::Retorno::Cnab240::Itau do
104
104
  pagamento.modalidade.must_equal nil
105
105
  pagamento.agencia_com_dv.must_equal "030690"
106
106
  pagamento.agencia_sem_dv.must_equal "3069"
107
- pagamento.numero_conta_com_dv.must_equal "777770"
107
+ pagamento.numero_conta.must_equal "777770"
108
108
  pagamento.numero_conta_dv.must_equal "0"
109
- pagamento.numero_conta.must_equal "77777"
109
+ pagamento.numero_conta_sem_dv.must_equal "77777"
110
110
  pagamento.dv_conta_e_agencia.must_equal "8"
111
- pagamento.nosso_numero.must_equal "000000035501014"
111
+ pagamento.nosso_numero_sem_dv.must_equal "000000035501014"
112
112
  pagamento.carteira.must_equal "000"
113
113
  pagamento.numero_documento.must_equal "00003550"
114
114
  pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
@@ -146,11 +146,11 @@ describe BrBoleto::Retorno::Cnab240::Itau do
146
146
  pagamento.modalidade.must_equal nil
147
147
  pagamento.agencia_com_dv.must_equal "030690"
148
148
  pagamento.agencia_sem_dv.must_equal "3069"
149
- pagamento.numero_conta_com_dv.must_equal "777770"
149
+ pagamento.numero_conta.must_equal "777770"
150
150
  pagamento.numero_conta_dv.must_equal "0"
151
- pagamento.numero_conta.must_equal "77777"
151
+ pagamento.numero_conta_sem_dv.must_equal "77777"
152
152
  pagamento.dv_conta_e_agencia.must_equal "8"
153
- pagamento.nosso_numero.must_equal "000000036201014"
153
+ pagamento.nosso_numero_sem_dv.must_equal "000000036201014"
154
154
  pagamento.carteira.must_equal "000"
155
155
  pagamento.numero_documento.must_equal "00003620"
156
156
  pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
@@ -187,11 +187,11 @@ describe BrBoleto::Retorno::Cnab240::Itau do
187
187
  pagamento = subject.pagamentos[4]
188
188
  pagamento.agencia_com_dv.must_equal "030690"
189
189
  pagamento.agencia_sem_dv.must_equal "3069"
190
- pagamento.numero_conta_com_dv.must_equal "777770"
190
+ pagamento.numero_conta.must_equal "777770"
191
191
  pagamento.numero_conta_dv.must_equal "0"
192
- pagamento.numero_conta.must_equal "77777"
192
+ pagamento.numero_conta_sem_dv.must_equal "77777"
193
193
  pagamento.dv_conta_e_agencia.must_equal "8"
194
- pagamento.nosso_numero.must_equal "000000036201014"
194
+ pagamento.nosso_numero_sem_dv.must_equal "000000036201014"
195
195
  pagamento.carteira.must_equal "000"
196
196
  pagamento.numero_documento.must_equal "00003620"
197
197
  pagamento.data_vencimento.must_equal Date.parse('06/05/2016')
@@ -0,0 +1,282 @@
1
+ require 'test_helper'
2
+
3
+ require 'pry'
4
+ describe BrBoleto::Retorno::Cnab240::Santander do
5
+ subject { BrBoleto::Retorno::Cnab240::Santander.new(file) }
6
+ let(:file) { open_fixture('retorno/cnab240/santander.ret') }
7
+
8
+ it "Deve ler o código do banco" do
9
+ subject.codigo_banco.must_equal '033'
10
+ end
11
+
12
+ it "Deve carregar 5 pagamentos" do
13
+ subject.pagamentos.size.must_equal 6
14
+ end
15
+
16
+ describe "deve setar as informações corretas para os pagamentos" do
17
+ it "valores para o pagamento 1" do
18
+ pagamento = subject.pagamentos[0]
19
+ pagamento.modalidade.must_equal nil
20
+ pagamento.agencia_com_dv.must_equal "99999"
21
+ pagamento.agencia_sem_dv.must_equal "9999"
22
+ pagamento.numero_conta.must_equal "1234567891"
23
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
24
+ pagamento.numero_conta_dv.must_equal "1"
25
+ pagamento.dv_conta_e_agencia.must_equal ""
26
+ pagamento.nosso_numero.must_equal "0000000000001"
27
+ pagamento.nosso_numero_sem_dv.must_equal "000000000000"
28
+ pagamento.nosso_numero_dv.must_equal "1"
29
+ pagamento.carteira.must_equal "2"
30
+ pagamento.numero_documento.must_equal ""
31
+ pagamento.data_vencimento.must_equal Date.parse('05/05/2016')
32
+ pagamento.valor_titulo.must_equal 10.25
33
+ pagamento.banco_recebedor.must_equal "033"
34
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
35
+ pagamento.identificacao_titulo_empresa.must_equal ""
36
+ pagamento.codigo_moeda.must_equal "00"
37
+ pagamento.sacado_tipo_documento.must_equal "1"
38
+ pagamento.sacado_documento.must_equal "000033806987840"
39
+ pagamento.sacado_nome.must_equal "XUNDA"
40
+ pagamento.numero_contrato.must_equal "6789100000"
41
+ pagamento.valor_tarifa.must_equal 2.61
42
+ pagamento.motivo_ocorrencia.must_equal "0000000000"
43
+ pagamento.valor_juros_multa.must_equal 0.0
44
+ pagamento.valor_desconto.must_equal 0.0
45
+ pagamento.valor_abatimento.must_equal 0.0
46
+ pagamento.valor_iof.must_equal 0.0
47
+ pagamento.valor_pago.must_equal 0.0
48
+ pagamento.valor_liquido.must_equal 0.0
49
+ pagamento.valor_outras_despesas.must_equal 0.0
50
+ pagamento.valor_outros_creditos.must_equal 0.0
51
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
52
+ pagamento.data_credito.must_equal Date.parse('28/04/2016')
53
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
54
+ pagamento.data_ocorrencia_sacado.must_equal nil
55
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
56
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
57
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
58
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
59
+ pagamento.codigo_movimento_retorno.must_equal "02"
60
+ end
61
+ it "valores para o pagamento 2" do
62
+ pagamento = subject.pagamentos[1]
63
+ pagamento.modalidade.must_equal nil
64
+ pagamento.agencia_com_dv.must_equal "99999"
65
+ pagamento.agencia_sem_dv.must_equal "9999"
66
+ pagamento.numero_conta.must_equal "1234567891"
67
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
68
+ pagamento.numero_conta_dv.must_equal "1"
69
+ pagamento.dv_conta_e_agencia.must_equal ""
70
+ pagamento.nosso_numero.must_equal "0000000000002"
71
+ pagamento.nosso_numero_sem_dv.must_equal "000000000000"
72
+ pagamento.nosso_numero_dv.must_equal "2"
73
+ pagamento.carteira.must_equal "2"
74
+ pagamento.numero_documento.must_equal ""
75
+ pagamento.data_vencimento.must_equal Date.parse('05/05/2016')
76
+ pagamento.valor_titulo.must_equal 1058.77
77
+ pagamento.banco_recebedor.must_equal "033"
78
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
79
+ pagamento.identificacao_titulo_empresa.must_equal ""
80
+ pagamento.codigo_moeda.must_equal "00"
81
+ pagamento.sacado_tipo_documento.must_equal "2"
82
+ pagamento.sacado_documento.must_equal "013021784000186"
83
+ pagamento.sacado_nome.must_equal "XUNDA"
84
+ pagamento.numero_contrato.must_equal "6789100000"
85
+ pagamento.valor_tarifa.must_equal 2.61
86
+ pagamento.motivo_ocorrencia.must_equal "0000000000"
87
+ pagamento.valor_juros_multa.must_equal 0.0
88
+ pagamento.valor_desconto.must_equal 0.0
89
+ pagamento.valor_abatimento.must_equal 0.0
90
+ pagamento.valor_iof.must_equal 0.0
91
+ pagamento.valor_pago.must_equal 0.0
92
+ pagamento.valor_liquido.must_equal 0.0
93
+ pagamento.valor_outras_despesas.must_equal 0.0
94
+ pagamento.valor_outros_creditos.must_equal 0.0
95
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
96
+ pagamento.data_credito.must_equal Date.parse('28/04/2016')
97
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
98
+ pagamento.data_ocorrencia_sacado.must_equal nil
99
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
100
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
101
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
102
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
103
+ pagamento.codigo_movimento_retorno.must_equal "02"
104
+ end
105
+ it "valores para o pagamento 3" do
106
+ pagamento = subject.pagamentos[2]
107
+ pagamento.modalidade.must_equal nil
108
+ pagamento.agencia_com_dv.must_equal "99999"
109
+ pagamento.agencia_sem_dv.must_equal "9999"
110
+ pagamento.numero_conta.must_equal "1234567891"
111
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
112
+ pagamento.numero_conta_dv.must_equal "1"
113
+ pagamento.dv_conta_e_agencia.must_equal ""
114
+ pagamento.nosso_numero.must_equal "0000000000003"
115
+ pagamento.nosso_numero_sem_dv.must_equal "000000000000"
116
+ pagamento.nosso_numero_dv.must_equal "3"
117
+ pagamento.carteira.must_equal "2"
118
+ pagamento.numero_documento.must_equal ""
119
+ pagamento.data_vencimento.must_equal Date.parse('28/04/2016')
120
+ pagamento.valor_titulo.must_equal 1.26
121
+ pagamento.banco_recebedor.must_equal "033"
122
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
123
+ pagamento.identificacao_titulo_empresa.must_equal ""
124
+ pagamento.codigo_moeda.must_equal "00"
125
+ pagamento.sacado_tipo_documento.must_equal "2"
126
+ pagamento.sacado_documento.must_equal "013021784000186"
127
+ pagamento.sacado_nome.must_equal "XUNDA"
128
+ pagamento.numero_contrato.must_equal "6789100000"
129
+ pagamento.valor_tarifa.must_equal 2.61
130
+ pagamento.motivo_ocorrencia.must_equal "0000000000"
131
+ pagamento.valor_juros_multa.must_equal 0.0
132
+ pagamento.valor_desconto.must_equal 0.0
133
+ pagamento.valor_abatimento.must_equal 0.0
134
+ pagamento.valor_iof.must_equal 0.0
135
+ pagamento.valor_pago.must_equal 0.0
136
+ pagamento.valor_liquido.must_equal 0.0
137
+ pagamento.valor_outras_despesas.must_equal 0.0
138
+ pagamento.valor_outros_creditos.must_equal 0.0
139
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
140
+ pagamento.data_credito.must_equal Date.parse('28/04/2016')
141
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
142
+ pagamento.data_ocorrencia_sacado.must_equal nil
143
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
144
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
145
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
146
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
147
+ pagamento.codigo_movimento_retorno.must_equal "02"
148
+ end
149
+ it "valores para o pagamento 4" do
150
+ pagamento = subject.pagamentos[3]
151
+ pagamento.modalidade.must_equal nil
152
+ pagamento.agencia_com_dv.must_equal "99999"
153
+ pagamento.agencia_sem_dv.must_equal "9999"
154
+ pagamento.numero_conta.must_equal "1234567891"
155
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
156
+ pagamento.numero_conta_dv.must_equal "1"
157
+ pagamento.dv_conta_e_agencia.must_equal ""
158
+ pagamento.nosso_numero.must_equal "0000000000004"
159
+ pagamento.nosso_numero_sem_dv.must_equal "000000000000"
160
+ pagamento.nosso_numero_dv.must_equal "4"
161
+ pagamento.carteira.must_equal "2"
162
+ pagamento.numero_documento.must_equal ""
163
+ pagamento.data_vencimento.must_equal Date.parse('28/04/2016')
164
+ pagamento.valor_titulo.must_equal 1.27
165
+ pagamento.banco_recebedor.must_equal "033"
166
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
167
+ pagamento.identificacao_titulo_empresa.must_equal ""
168
+ pagamento.codigo_moeda.must_equal "00"
169
+ pagamento.sacado_tipo_documento.must_equal "1"
170
+ pagamento.sacado_documento.must_equal "000033806987840"
171
+ pagamento.sacado_nome.must_equal "XUNDA"
172
+ pagamento.numero_contrato.must_equal "6789100000"
173
+ pagamento.valor_tarifa.must_equal 2.61
174
+ pagamento.motivo_ocorrencia.must_equal "0000000000"
175
+ pagamento.valor_juros_multa.must_equal 0.0
176
+ pagamento.valor_desconto.must_equal 0.0
177
+ pagamento.valor_abatimento.must_equal 0.0
178
+ pagamento.valor_iof.must_equal 0.0
179
+ pagamento.valor_pago.must_equal 0.0
180
+ pagamento.valor_liquido.must_equal 0.0
181
+ pagamento.valor_outras_despesas.must_equal 0.0
182
+ pagamento.valor_outros_creditos.must_equal 0.0
183
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
184
+ pagamento.data_credito.must_equal Date.parse('28/04/2016')
185
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
186
+ pagamento.data_ocorrencia_sacado.must_equal nil
187
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
188
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
189
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
190
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
191
+ pagamento.codigo_movimento_retorno.must_equal "02"
192
+ end
193
+ it "valores para o pagamento 5" do
194
+ pagamento = subject.pagamentos[4]
195
+ pagamento.agencia_com_dv.must_equal "99999"
196
+ pagamento.agencia_sem_dv.must_equal "9999"
197
+ pagamento.numero_conta.must_equal "1234567891"
198
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
199
+ pagamento.numero_conta_dv.must_equal "1"
200
+ pagamento.dv_conta_e_agencia.must_equal ""
201
+ pagamento.nosso_numero.must_equal "0000000000004"
202
+ pagamento.nosso_numero_sem_dv.must_equal "000000000000"
203
+ pagamento.nosso_numero_dv.must_equal "4"
204
+ pagamento.carteira.must_equal "2"
205
+ pagamento.numero_documento.must_equal ""
206
+ pagamento.data_vencimento.must_equal Date.parse('28/04/2016')
207
+ pagamento.valor_titulo.must_equal 1.27
208
+ pagamento.banco_recebedor.must_equal "001"
209
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
210
+ pagamento.identificacao_titulo_empresa.must_equal ""
211
+ pagamento.codigo_moeda.must_equal "00"
212
+ pagamento.sacado_tipo_documento.must_equal "1"
213
+ pagamento.sacado_documento.must_equal "000033806987840"
214
+ pagamento.sacado_nome.must_equal "XUNDA"
215
+ pagamento.numero_contrato.must_equal "6789100000"
216
+ pagamento.valor_tarifa.must_equal 0.0
217
+ pagamento.motivo_ocorrencia.must_equal "0400000000"
218
+ pagamento.valor_juros_multa.must_equal 0.0
219
+ pagamento.valor_desconto.must_equal 0.0
220
+ pagamento.valor_abatimento.must_equal 0.0
221
+ pagamento.valor_iof.must_equal 0.0
222
+ pagamento.valor_pago.must_equal 1.27
223
+ pagamento.valor_liquido.must_equal 1.27
224
+ pagamento.valor_outras_despesas.must_equal 0.0
225
+ pagamento.valor_outros_creditos.must_equal 0.0
226
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
227
+ pagamento.data_credito.must_equal Date.parse('29/04/2016')
228
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
229
+ pagamento.data_ocorrencia_sacado.must_equal nil
230
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
231
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
232
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
233
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
234
+ pagamento.codigo_movimento_retorno.must_equal "06"
235
+ end
236
+ it "valores para o pagamento 6" do
237
+ pagamento = subject.pagamentos[5]
238
+ pagamento.agencia_com_dv.must_equal "99999"
239
+ pagamento.agencia_sem_dv.must_equal "9999"
240
+ pagamento.numero_conta.must_equal "1234567891"
241
+ pagamento.numero_conta_sem_dv.must_equal "123456789"
242
+ pagamento.numero_conta_dv.must_equal "1"
243
+ pagamento.dv_conta_e_agencia.must_equal ""
244
+ pagamento.nosso_numero.must_equal "0000000289647"
245
+ pagamento.nosso_numero_sem_dv.must_equal "000000028964"
246
+ pagamento.nosso_numero_dv.must_equal "7"
247
+ pagamento.carteira.must_equal "1"
248
+ pagamento.numero_documento.must_equal ""
249
+ pagamento.data_vencimento.must_equal Date.parse('28/04/2016')
250
+ pagamento.valor_titulo.must_equal 1.26
251
+ pagamento.banco_recebedor.must_equal "001"
252
+ pagamento.agencia_recebedora_com_dv.must_equal "12340"
253
+ pagamento.identificacao_titulo_empresa.must_equal ""
254
+ pagamento.codigo_moeda.must_equal "00"
255
+ pagamento.sacado_tipo_documento.must_equal "2"
256
+ pagamento.sacado_documento.must_equal "000000000000000"
257
+ pagamento.sacado_nome.must_equal ""
258
+ pagamento.numero_contrato.must_equal "6789100000"
259
+ pagamento.valor_tarifa.must_equal 6.0
260
+ pagamento.motivo_ocorrencia.must_equal "0400000000"
261
+ pagamento.valor_juros_multa.must_equal 0.0
262
+ pagamento.valor_desconto.must_equal 0.0
263
+ pagamento.valor_abatimento.must_equal 0.0
264
+ pagamento.valor_iof.must_equal 0.0
265
+ pagamento.valor_pago.must_equal 1.26
266
+ pagamento.valor_liquido.must_equal 1.26
267
+ pagamento.valor_outras_despesas.must_equal 0.0
268
+ pagamento.valor_outros_creditos.must_equal 0.0
269
+ pagamento.data_ocorrencia.must_equal Date.parse('28/04/2016')
270
+ pagamento.data_credito.must_equal Date.parse('29/04/2016')
271
+ pagamento.codigo_ocorrencia_sacado.must_equal "0000"
272
+ pagamento.data_ocorrencia_sacado.must_equal nil
273
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
274
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
275
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "000"
276
+ pagamento.nosso_numero_banco_correspondente.must_equal ""
277
+ pagamento.codigo_movimento_retorno.must_equal "17"
278
+ end
279
+ end
280
+
281
+
282
+ end