br_boleto 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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