br_boleto 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +1 -1
  4. data/Gemfile.lock +2 -2
  5. data/br_boleto.gemspec +2 -3
  6. data/lib/br_boleto/association/have_conta.rb +27 -25
  7. data/lib/br_boleto/association/have_pagador.rb +2 -0
  8. data/lib/br_boleto/boleto/base.rb +0 -4
  9. data/lib/br_boleto/boleto/bradesco.rb +80 -0
  10. data/lib/br_boleto/boleto/caixa.rb +10 -12
  11. data/lib/br_boleto/boleto/cecred.rb +76 -0
  12. data/lib/br_boleto/boleto/itau.rb +114 -0
  13. data/lib/br_boleto/boleto/sicredi.rb +101 -0
  14. data/lib/br_boleto/boleto/unicred.rb +21 -0
  15. data/lib/br_boleto/conta/base.rb +28 -3
  16. data/lib/br_boleto/conta/bradesco.rb +120 -0
  17. data/lib/br_boleto/conta/caixa.rb +22 -12
  18. data/lib/br_boleto/conta/cecred.rb +67 -0
  19. data/lib/br_boleto/conta/itau.rb +199 -0
  20. data/lib/br_boleto/conta/sicoob.rb +40 -11
  21. data/lib/br_boleto/conta/sicredi.rb +171 -0
  22. data/lib/br_boleto/conta/unicred.rb +38 -0
  23. data/lib/br_boleto/helper/default_codes.rb +535 -26
  24. data/lib/br_boleto/pagador.rb +4 -0
  25. data/lib/br_boleto/remessa/base.rb +2 -0
  26. data/lib/br_boleto/remessa/cnab240/base.rb +21 -6
  27. data/lib/br_boleto/remessa/cnab240/bradesco.rb +141 -0
  28. data/lib/br_boleto/remessa/cnab240/caixa.rb +8 -1
  29. data/lib/br_boleto/remessa/cnab240/cecred.rb +169 -0
  30. data/lib/br_boleto/remessa/cnab240/helper/segmento_p.rb +29 -21
  31. data/lib/br_boleto/remessa/cnab240/helper/segmento_q.rb +4 -3
  32. data/lib/br_boleto/remessa/cnab240/helper/segmento_r.rb +5 -5
  33. data/lib/br_boleto/remessa/cnab240/helper/segmento_s.rb +4 -3
  34. data/lib/br_boleto/remessa/cnab240/itau.rb +186 -0
  35. data/lib/br_boleto/remessa/cnab240/sicoob.rb +4 -16
  36. data/lib/br_boleto/remessa/cnab240/sicredi.rb +205 -0
  37. data/lib/br_boleto/remessa/cnab240/unicred.rb +40 -0
  38. data/lib/br_boleto/remessa/cnab400/bradesco.rb +235 -0
  39. data/lib/br_boleto/remessa/cnab400/helper/detalhe.rb +6 -5
  40. data/lib/br_boleto/remessa/cnab400/itau.rb +190 -0
  41. data/lib/br_boleto/remessa/cnab400/sicoob.rb +3 -3
  42. data/lib/br_boleto/remessa/cnab400/sicredi.rb +276 -0
  43. data/lib/br_boleto/remessa/cnab400/unicred.rb +62 -0
  44. data/lib/br_boleto/remessa/pagamento.rb +93 -43
  45. data/lib/br_boleto/retorno/cnab240/base.rb +13 -12
  46. data/lib/br_boleto/retorno/cnab240/bradesco.rb +10 -0
  47. data/lib/br_boleto/retorno/cnab240/caixa.rb +2 -3
  48. data/lib/br_boleto/retorno/cnab240/cecred.rb +10 -0
  49. data/lib/br_boleto/retorno/cnab240/itau.rb +24 -0
  50. data/lib/br_boleto/retorno/cnab240/sicredi.rb +10 -0
  51. data/lib/br_boleto/retorno/cnab240/unicred.rb +10 -0
  52. data/lib/br_boleto/retorno/cnab400/bradesco.rb +42 -0
  53. data/lib/br_boleto/retorno/cnab400/itau.rb +43 -0
  54. data/lib/br_boleto/retorno/cnab400/sicoob.rb +2 -2
  55. data/lib/br_boleto/retorno/cnab400/sicredi.rb +43 -0
  56. data/lib/br_boleto/retorno/cnab400/unicred.rb +10 -0
  57. data/lib/br_boleto/retorno/pagamento.rb +18 -4
  58. data/lib/br_boleto/version.rb +2 -2
  59. data/lib/br_boleto.rb +28 -0
  60. data/lib/config/locales/br-boleto-en.yml +1 -0
  61. data/lib/config/locales/br-boleto-pt-BR.yml +1 -0
  62. data/test/br_boleto/association/have_pagador_test.rb +24 -0
  63. data/test/br_boleto/boleto/bradesco_test.rb +125 -0
  64. data/test/br_boleto/boleto/caixa_test.rb +18 -18
  65. data/test/br_boleto/boleto/cecred_test.rb +115 -0
  66. data/test/br_boleto/boleto/itau_test.rb +160 -0
  67. data/test/br_boleto/boleto/sicredi_test.rb +136 -0
  68. data/test/br_boleto/boleto/unicred_test.rb +128 -0
  69. data/test/br_boleto/conta/base_test.rb +298 -3
  70. data/test/br_boleto/conta/bradesco_test.rb +142 -0
  71. data/test/br_boleto/conta/caixa_test.rb +7 -6
  72. data/test/br_boleto/conta/cecred_test.rb +119 -0
  73. data/test/br_boleto/conta/itau_test.rb +189 -0
  74. data/test/br_boleto/conta/sicoob_test.rb +32 -2
  75. data/test/br_boleto/conta/sicredi_test.rb +180 -0
  76. data/test/br_boleto/conta/unicred_test.rb +154 -0
  77. data/test/br_boleto/pagador_test.rb +22 -2
  78. data/test/br_boleto/remessa/cnab240/base_test.rb +24 -12
  79. data/test/br_boleto/remessa/cnab240/bradesco_test.rb +196 -0
  80. data/test/br_boleto/remessa/cnab240/caixa_test.rb +51 -0
  81. data/test/br_boleto/remessa/cnab240/cecred_test.rb +242 -0
  82. data/test/br_boleto/remessa/cnab240/helper/segmento_p_test.rb +78 -71
  83. data/test/br_boleto/remessa/cnab240/helper/segmento_q_test.rb +4 -3
  84. data/test/br_boleto/remessa/cnab240/helper/segmento_r_test.rb +10 -18
  85. data/test/br_boleto/remessa/cnab240/helper/segmento_s_test.rb +6 -5
  86. data/test/br_boleto/remessa/cnab240/itau_test.rb +201 -0
  87. data/test/br_boleto/remessa/cnab240/sicoob_test.rb +1 -58
  88. data/test/br_boleto/remessa/cnab240/sicredi_test.rb +207 -0
  89. data/test/br_boleto/remessa/cnab240/unicred_test.rb +250 -0
  90. data/test/br_boleto/remessa/cnab400/base_test.rb +4 -4
  91. data/test/br_boleto/remessa/cnab400/bradesco_test.rb +164 -0
  92. data/test/br_boleto/remessa/cnab400/itau_test.rb +173 -0
  93. data/test/br_boleto/remessa/cnab400/sicoob_test.rb +2 -2
  94. data/test/br_boleto/remessa/cnab400/sicredi_test.rb +241 -0
  95. data/test/br_boleto/remessa/cnab400/unicred_test.rb +169 -0
  96. data/test/br_boleto/retorno/cnab240/base_test.rb +20 -10
  97. data/test/br_boleto/retorno/cnab240/bradesco_test.rb +228 -0
  98. data/test/br_boleto/retorno/cnab240/caixa_test.rb +20 -10
  99. data/test/br_boleto/retorno/cnab240/cecred_test.rb +228 -0
  100. data/test/br_boleto/retorno/cnab240/itau_test.rb +228 -0
  101. data/test/br_boleto/retorno/cnab240/sicoob_test.rb +20 -10
  102. data/test/br_boleto/retorno/cnab240/sicredi_test.rb +228 -0
  103. data/test/br_boleto/retorno/cnab240/unicred_test.rb +228 -0
  104. data/test/br_boleto/retorno/cnab400/bradesco_test.rb +255 -0
  105. data/test/br_boleto/retorno/cnab400/itau_test.rb +96 -0
  106. data/test/br_boleto/retorno/cnab400/sicoob_test.rb +10 -5
  107. data/test/br_boleto/retorno/cnab400/sicredi_test.rb +7 -0
  108. data/test/br_boleto/retorno/cnab400/unicred.rb +255 -0
  109. data/test/br_boleto/retorno/pagamento_test.rb +7 -0
  110. data/test/factories/boleto/boleto_bradesco.rb +18 -0
  111. data/test/factories/boleto/boleto_cecred.rb +18 -0
  112. data/test/factories/boleto/boleto_itau.rb +18 -0
  113. data/test/factories/boleto/boleto_sicredi.rb +18 -0
  114. data/test/factories/boleto/boleto_unicred.rb +18 -0
  115. data/test/factories/conta/bradesco.rb +16 -0
  116. data/test/factories/conta/caixa.rb +2 -1
  117. data/test/factories/conta/cecred.rb +15 -0
  118. data/test/factories/conta/itau.rb +15 -0
  119. data/test/factories/conta/sicoob.rb +2 -1
  120. data/test/factories/conta/sicredi.rb +15 -0
  121. data/test/factories/conta/unicred.rb +15 -0
  122. data/test/factories/remessa/cnab240/bradesco.rb +9 -0
  123. data/test/factories/remessa/cnab240/cecred.rb +9 -0
  124. data/test/factories/remessa/cnab240/itau.rb +9 -0
  125. data/test/factories/remessa/cnab240/sicredi.rb +9 -0
  126. data/test/factories/remessa/cnab240/unicred.rb +9 -0
  127. data/test/factories/remessa/cnab400/bradesco.rb +8 -0
  128. data/test/factories/remessa/cnab400/itau.rb +8 -0
  129. data/test/factories/remessa/cnab400/sicredi.rb +8 -0
  130. data/test/factories/remessa/cnab400/unicred.rb +8 -0
  131. data/test/fixtures/remessa/cnab240/caixa.rem +8 -0
  132. data/test/fixtures/remessa/cnab240/cecred.rem +8 -0
  133. data/test/fixtures/remessa/cnab240/sicoob.rem +8 -8
  134. data/test/fixtures/remessa/cnab240/unicred.rem +7 -0
  135. data/test/fixtures/retorno/cnab400/bradesco.ret +8 -0
  136. data/test/fixtures/retorno/cnab400/itau.ret +54 -0
  137. metadata +138 -3
@@ -0,0 +1,228 @@
1
+ require 'test_helper'
2
+
3
+ require 'pry'
4
+ describe BrBoleto::Retorno::Cnab240::Itau do
5
+ subject { BrBoleto::Retorno::Cnab240::Itau.new(file) }
6
+ let(:file) { open_fixture('retorno/cnab240/padrao240.ret') }
7
+
8
+
9
+ it "Deve ler o código do banco" do
10
+ subject.codigo_banco.must_equal '756'
11
+ end
12
+
13
+ it "Deve carregar 5 pagamentos" do
14
+ subject.pagamentos.size.must_equal 5
15
+ end
16
+
17
+ describe "deve setar as informações corretas para os pagamentos" do
18
+ it "valores para o pagamento 1" do
19
+ pagamento = subject.pagamentos[0]
20
+ pagamento.modalidade.must_equal nil
21
+ pagamento.agencia_com_dv.must_equal "030690"
22
+ pagamento.agencia_sem_dv.must_equal "3069"
23
+ pagamento.numero_conta_com_dv.must_equal "777770"
24
+ pagamento.numero_conta_dv.must_equal "0"
25
+ pagamento.numero_conta.must_equal "77777"
26
+ pagamento.dv_conta_e_agencia.must_equal "8"
27
+ pagamento.nosso_numero.must_equal "000000033001014"
28
+ pagamento.carteira.must_equal "000"
29
+ pagamento.numero_documento.must_equal "00003300"
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"
33
+ pagamento.agencia_recebedora_com_dv.must_equal "030690"
34
+ pagamento.identificacao_titulo_empresa.must_equal ""
35
+ pagamento.codigo_moeda.must_equal "09"
36
+ pagamento.sacado_tipo_documento.must_equal "2"
37
+ pagamento.sacado_documento.must_equal "111111111111111"
38
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 1 ??O"
39
+ pagamento.numero_contrato.must_equal "0000000000"
40
+ pagamento.valor_tarifa.must_equal 2.69
41
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
42
+ pagamento.valor_juros_multa.must_equal 0.0
43
+ pagamento.valor_desconto.must_equal 0.0
44
+ pagamento.valor_abatimento.must_equal 0.0
45
+ pagamento.valor_iof.must_equal 0.0
46
+ pagamento.valor_pago.must_equal 129.39
47
+ pagamento.valor_liquido.must_equal 129.39
48
+ pagamento.valor_outras_despesas.must_equal 0.0
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')
52
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
53
+ pagamento.data_ocorrencia_sacado.must_equal nil
54
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
55
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
56
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
57
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
58
+ pagamento.codigo_movimento_retorno.must_equal "06"
59
+ end
60
+ it "valores para o pagamento 2" do
61
+ pagamento = subject.pagamentos[1]
62
+ pagamento.modalidade.must_equal nil
63
+ pagamento.agencia_com_dv.must_equal "030690"
64
+ pagamento.agencia_sem_dv.must_equal "3069"
65
+ pagamento.numero_conta_com_dv.must_equal "777770"
66
+ pagamento.numero_conta_dv.must_equal "0"
67
+ pagamento.numero_conta.must_equal "77777"
68
+ pagamento.dv_conta_e_agencia.must_equal "8"
69
+ pagamento.nosso_numero.must_equal "000000034801024"
70
+ pagamento.carteira.must_equal "000"
71
+ pagamento.numero_documento.must_equal "00003480"
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"
76
+ pagamento.identificacao_titulo_empresa.must_equal ""
77
+ pagamento.codigo_moeda.must_equal "09"
78
+ pagamento.sacado_tipo_documento.must_equal "2"
79
+ pagamento.sacado_documento.must_equal "222222222222222"
80
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 2"
81
+ pagamento.numero_contrato.must_equal "0000000000"
82
+ pagamento.valor_tarifa.must_equal 2.69
83
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
84
+ pagamento.valor_juros_multa.must_equal 0.0
85
+ pagamento.valor_desconto.must_equal 0.0
86
+ pagamento.valor_abatimento.must_equal 0.0
87
+ pagamento.valor_iof.must_equal 0.0
88
+ pagamento.valor_pago.must_equal 29.0
89
+ pagamento.valor_liquido.must_equal 29.0
90
+ pagamento.valor_outras_despesas.must_equal 0.0
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')
94
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
95
+ pagamento.data_ocorrencia_sacado.must_equal nil
96
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
97
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
98
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "304"
99
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
100
+ pagamento.codigo_movimento_retorno.must_equal "06"
101
+ end
102
+ it "valores para o pagamento 3" do
103
+ pagamento = subject.pagamentos[2]
104
+ pagamento.modalidade.must_equal nil
105
+ pagamento.agencia_com_dv.must_equal "030690"
106
+ pagamento.agencia_sem_dv.must_equal "3069"
107
+ pagamento.numero_conta_com_dv.must_equal "777770"
108
+ pagamento.numero_conta_dv.must_equal "0"
109
+ pagamento.numero_conta.must_equal "77777"
110
+ pagamento.dv_conta_e_agencia.must_equal "8"
111
+ pagamento.nosso_numero.must_equal "000000035501014"
112
+ pagamento.carteira.must_equal "000"
113
+ pagamento.numero_documento.must_equal "00003550"
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"
118
+ pagamento.identificacao_titulo_empresa.must_equal ""
119
+ pagamento.codigo_moeda.must_equal "09"
120
+ pagamento.sacado_tipo_documento.must_equal "2"
121
+ pagamento.sacado_documento.must_equal "333333333333333"
122
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 3"
123
+ pagamento.numero_contrato.must_equal "0000000000"
124
+ pagamento.valor_tarifa.must_equal 2.69
125
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
126
+ pagamento.valor_juros_multa.must_equal 0.0
127
+ pagamento.valor_desconto.must_equal 0.0
128
+ pagamento.valor_abatimento.must_equal 0.0
129
+ pagamento.valor_iof.must_equal 0.0
130
+ pagamento.valor_pago.must_equal 89.1
131
+ pagamento.valor_liquido.must_equal 89.1
132
+ pagamento.valor_outras_despesas.must_equal 0.0
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 "3069"
149
+ pagamento.numero_conta_com_dv.must_equal "777770"
150
+ pagamento.numero_conta_dv.must_equal "0"
151
+ pagamento.numero_conta.must_equal "77777"
152
+ pagamento.dv_conta_e_agencia.must_equal "8"
153
+ pagamento.nosso_numero.must_equal "000000036201014"
154
+ pagamento.carteira.must_equal "000"
155
+ pagamento.numero_documento.must_equal "00003620"
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 "3069"
190
+ pagamento.numero_conta_com_dv.must_equal "777770"
191
+ pagamento.numero_conta_dv.must_equal "0"
192
+ pagamento.numero_conta.must_equal "77777"
193
+ pagamento.dv_conta_e_agencia.must_equal "8"
194
+ pagamento.nosso_numero.must_equal "000000036201014"
195
+ pagamento.carteira.must_equal "000"
196
+ pagamento.numero_documento.must_equal "00003620"
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
219
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
220
+ pagamento.data_ocorrencia_sacado.must_equal nil
221
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
222
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
223
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
224
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
225
+ pagamento.codigo_movimento_retorno.must_equal "06"
226
+ end
227
+ end
228
+ end
@@ -19,7 +19,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
19
19
  pagamento.agencia_com_dv.must_equal "030690"
20
20
  pagamento.agencia_sem_dv.must_equal "03069"
21
21
  pagamento.numero_conta_com_dv.must_equal "0000000777778"
22
- pagamento.numero_conta_sem_dv.must_equal "000000077777"
22
+ pagamento.numero_conta_dv.must_equal "8"
23
+ pagamento.numero_conta.must_equal "000000077777"
23
24
  pagamento.dv_conta_e_agencia.must_equal "0"
24
25
  pagamento.nosso_numero.must_equal "0000000330"
25
26
  pagamento.carteira.must_equal "1"
@@ -51,7 +52,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
51
52
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
52
53
  pagamento.complemento_ocorrencia_sacado.must_equal ""
53
54
  pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
54
- pagamento.nosso_numero_banco_correspondente.must_equal ""
55
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
56
+ pagamento.codigo_movimento_retorno.must_equal "06"
55
57
  end
56
58
  it "valores para o pagamento 2" do
57
59
  pagamento = subject.pagamentos[1]
@@ -59,7 +61,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
59
61
  pagamento.agencia_com_dv.must_equal "030690"
60
62
  pagamento.agencia_sem_dv.must_equal "03069"
61
63
  pagamento.numero_conta_com_dv.must_equal "0000000777778"
62
- pagamento.numero_conta_sem_dv.must_equal "000000077777"
64
+ pagamento.numero_conta_dv.must_equal "8"
65
+ pagamento.numero_conta.must_equal "000000077777"
63
66
  pagamento.dv_conta_e_agencia.must_equal "0"
64
67
  pagamento.nosso_numero.must_equal "0000000348"
65
68
  pagamento.carteira.must_equal "1"
@@ -91,7 +94,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
91
94
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
92
95
  pagamento.complemento_ocorrencia_sacado.must_equal ""
93
96
  pagamento.codigo_ocorrencia_banco_correspondente.must_equal "304"
94
- pagamento.nosso_numero_banco_correspondente.must_equal ""
97
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
98
+ pagamento.codigo_movimento_retorno.must_equal "06"
95
99
  end
96
100
  it "valores para o pagamento 3" do
97
101
  pagamento = subject.pagamentos[2]
@@ -99,7 +103,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
99
103
  pagamento.agencia_com_dv.must_equal "030690"
100
104
  pagamento.agencia_sem_dv.must_equal "03069"
101
105
  pagamento.numero_conta_com_dv.must_equal "0000000777778"
102
- pagamento.numero_conta_sem_dv.must_equal "000000077777"
106
+ pagamento.numero_conta_dv.must_equal "8"
107
+ pagamento.numero_conta.must_equal "000000077777"
103
108
  pagamento.dv_conta_e_agencia.must_equal "0"
104
109
  pagamento.nosso_numero.must_equal "0000000355"
105
110
  pagamento.carteira.must_equal "1"
@@ -131,7 +136,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
131
136
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
132
137
  pagamento.complemento_ocorrencia_sacado.must_equal ""
133
138
  pagamento.codigo_ocorrencia_banco_correspondente.must_equal "100"
134
- pagamento.nosso_numero_banco_correspondente.must_equal ""
139
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
140
+ pagamento.codigo_movimento_retorno.must_equal "06"
135
141
  end
136
142
  it "valores para o pagamento 4" do
137
143
  pagamento = subject.pagamentos[3]
@@ -139,7 +145,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
139
145
  pagamento.agencia_com_dv.must_equal "030690"
140
146
  pagamento.agencia_sem_dv.must_equal "03069"
141
147
  pagamento.numero_conta_com_dv.must_equal "0000000777778"
142
- pagamento.numero_conta_sem_dv.must_equal "000000077777"
148
+ pagamento.numero_conta_dv.must_equal "8"
149
+ pagamento.numero_conta.must_equal "000000077777"
143
150
  pagamento.dv_conta_e_agencia.must_equal "0"
144
151
  pagamento.nosso_numero.must_equal "0000000362"
145
152
  pagamento.carteira.must_equal "1"
@@ -171,7 +178,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
171
178
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
172
179
  pagamento.complemento_ocorrencia_sacado.must_equal ""
173
180
  pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
174
- pagamento.nosso_numero_banco_correspondente.must_equal ""
181
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
182
+ pagamento.codigo_movimento_retorno.must_equal "06"
175
183
  end
176
184
  it "valores para o pagamento 5" do
177
185
  pagamento = subject.pagamentos[4]
@@ -179,7 +187,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
179
187
  pagamento.agencia_com_dv.must_equal "030690"
180
188
  pagamento.agencia_sem_dv.must_equal "03069"
181
189
  pagamento.numero_conta_com_dv.must_equal "0000000777778"
182
- pagamento.numero_conta_sem_dv.must_equal "000000077777"
190
+ pagamento.numero_conta_dv.must_equal "8"
191
+ pagamento.numero_conta.must_equal "000000077777"
183
192
  pagamento.dv_conta_e_agencia.must_equal "0"
184
193
  pagamento.nosso_numero.must_equal "0000000362"
185
194
  pagamento.carteira.must_equal "1"
@@ -211,7 +220,8 @@ describe BrBoleto::Retorno::Cnab240::Sicoob do
211
220
  pagamento.valor_ocorrencia_sacado.must_equal 0.0
212
221
  pagamento.complemento_ocorrencia_sacado.must_equal ""
213
222
  pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
214
- pagamento.nosso_numero_banco_correspondente.must_equal ""
223
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
224
+ pagamento.codigo_movimento_retorno.must_equal "06"
215
225
  end
216
226
  end
217
227
  end
@@ -0,0 +1,228 @@
1
+ require 'test_helper'
2
+
3
+ require 'pry'
4
+ describe BrBoleto::Retorno::Cnab240::Sicredi do
5
+ subject { BrBoleto::Retorno::Cnab240::Sicredi.new(file) }
6
+ let(:file) { open_fixture('retorno/cnab240/padrao240.ret') }
7
+
8
+
9
+ it "Deve ler o código do banco" do
10
+ subject.codigo_banco.must_equal '756'
11
+ end
12
+
13
+ it "Deve carregar 5 pagamentos" do
14
+ subject.pagamentos.size.must_equal 5
15
+ end
16
+
17
+ describe "deve setar as informações corretas para os pagamentos" do
18
+ it "valores para o pagamento 1" do
19
+ pagamento = subject.pagamentos[0]
20
+ pagamento.modalidade.must_equal nil
21
+ pagamento.agencia_com_dv.must_equal "030690"
22
+ pagamento.agencia_sem_dv.must_equal "03069"
23
+ pagamento.numero_conta_com_dv.must_equal "0000000777778"
24
+ pagamento.numero_conta_dv.must_equal "8"
25
+ pagamento.numero_conta.must_equal "000000077777"
26
+ pagamento.dv_conta_e_agencia.must_equal "0"
27
+ pagamento.nosso_numero.must_equal "000000033001014"
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"
33
+ pagamento.agencia_recebedora_com_dv.must_equal "030690"
34
+ pagamento.identificacao_titulo_empresa.must_equal ""
35
+ pagamento.codigo_moeda.must_equal "09"
36
+ pagamento.sacado_tipo_documento.must_equal "2"
37
+ pagamento.sacado_documento.must_equal "111111111111111"
38
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 1 ??O"
39
+ pagamento.numero_contrato.must_equal "0000000000"
40
+ pagamento.valor_tarifa.must_equal 2.69
41
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
42
+ pagamento.valor_juros_multa.must_equal 0.0
43
+ pagamento.valor_desconto.must_equal 0.0
44
+ pagamento.valor_abatimento.must_equal 0.0
45
+ pagamento.valor_iof.must_equal 0.0
46
+ pagamento.valor_pago.must_equal 129.39
47
+ pagamento.valor_liquido.must_equal 129.39
48
+ pagamento.valor_outras_despesas.must_equal 0.0
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')
52
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
53
+ pagamento.data_ocorrencia_sacado.must_equal nil
54
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
55
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
56
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
57
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
58
+ pagamento.codigo_movimento_retorno.must_equal "06"
59
+ end
60
+ it "valores para o pagamento 2" do
61
+ pagamento = subject.pagamentos[1]
62
+ pagamento.modalidade.must_equal nil
63
+ pagamento.agencia_com_dv.must_equal "030690"
64
+ pagamento.agencia_sem_dv.must_equal "03069"
65
+ pagamento.numero_conta_com_dv.must_equal "0000000777778"
66
+ pagamento.numero_conta_dv.must_equal "8"
67
+ pagamento.numero_conta.must_equal "000000077777"
68
+ pagamento.dv_conta_e_agencia.must_equal "0"
69
+ pagamento.nosso_numero.must_equal "000000034801024"
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"
76
+ pagamento.identificacao_titulo_empresa.must_equal ""
77
+ pagamento.codigo_moeda.must_equal "09"
78
+ pagamento.sacado_tipo_documento.must_equal "2"
79
+ pagamento.sacado_documento.must_equal "222222222222222"
80
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 2"
81
+ pagamento.numero_contrato.must_equal "0000000000"
82
+ pagamento.valor_tarifa.must_equal 2.69
83
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
84
+ pagamento.valor_juros_multa.must_equal 0.0
85
+ pagamento.valor_desconto.must_equal 0.0
86
+ pagamento.valor_abatimento.must_equal 0.0
87
+ pagamento.valor_iof.must_equal 0.0
88
+ pagamento.valor_pago.must_equal 29.0
89
+ pagamento.valor_liquido.must_equal 29.0
90
+ pagamento.valor_outras_despesas.must_equal 0.0
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')
94
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
95
+ pagamento.data_ocorrencia_sacado.must_equal nil
96
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
97
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
98
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "304"
99
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
100
+ pagamento.codigo_movimento_retorno.must_equal "06"
101
+ end
102
+ it "valores para o pagamento 3" do
103
+ pagamento = subject.pagamentos[2]
104
+ pagamento.modalidade.must_equal nil
105
+ pagamento.agencia_com_dv.must_equal "030690"
106
+ pagamento.agencia_sem_dv.must_equal "03069"
107
+ pagamento.numero_conta_com_dv.must_equal "0000000777778"
108
+ pagamento.numero_conta_dv.must_equal "8"
109
+ pagamento.numero_conta.must_equal "000000077777"
110
+ pagamento.dv_conta_e_agencia.must_equal "0"
111
+ pagamento.nosso_numero.must_equal "000000035501014"
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"
118
+ pagamento.identificacao_titulo_empresa.must_equal ""
119
+ pagamento.codigo_moeda.must_equal "09"
120
+ pagamento.sacado_tipo_documento.must_equal "2"
121
+ pagamento.sacado_documento.must_equal "333333333333333"
122
+ pagamento.sacado_nome.must_equal "NOME DO CLIENTE 3"
123
+ pagamento.numero_contrato.must_equal "0000000000"
124
+ pagamento.valor_tarifa.must_equal 2.69
125
+ pagamento.motivo_ocorrencia.must_equal "0000000004"
126
+ pagamento.valor_juros_multa.must_equal 0.0
127
+ pagamento.valor_desconto.must_equal 0.0
128
+ pagamento.valor_abatimento.must_equal 0.0
129
+ pagamento.valor_iof.must_equal 0.0
130
+ pagamento.valor_pago.must_equal 89.1
131
+ pagamento.valor_liquido.must_equal 89.1
132
+ pagamento.valor_outras_despesas.must_equal 0.0
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
219
+ pagamento.codigo_ocorrencia_sacado.must_equal ""
220
+ pagamento.data_ocorrencia_sacado.must_equal nil
221
+ pagamento.valor_ocorrencia_sacado.must_equal 0.0
222
+ pagamento.complemento_ocorrencia_sacado.must_equal ""
223
+ pagamento.codigo_ocorrencia_banco_correspondente.must_equal "756"
224
+ pagamento.nosso_numero_banco_correspondente.must_equal "00000000000000000000"
225
+ pagamento.codigo_movimento_retorno.must_equal "06"
226
+ end
227
+ end
228
+ end