br_boleto 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.markdown +23 -17
- data/lib/br_boleto.rb +2 -0
- data/lib/br_boleto/boleto/banco_brasil.rb +24 -15
- data/lib/br_boleto/boleto/santander.rb +8 -2
- data/lib/br_boleto/conta/banco_brasil.rb +254 -56
- data/lib/br_boleto/conta/bradesco.rb +229 -27
- data/lib/br_boleto/conta/caixa.rb +208 -4
- data/lib/br_boleto/conta/cecred.rb +29 -0
- data/lib/br_boleto/conta/itau.rb +482 -87
- data/lib/br_boleto/conta/santander.rb +224 -97
- data/lib/br_boleto/conta/sicoob.rb +39 -24
- data/lib/br_boleto/conta/sicredi.rb +169 -64
- data/lib/br_boleto/conta/unicred.rb +16 -13
- data/lib/br_boleto/helper/default_codes.rb +2123 -54
- data/lib/br_boleto/remessa/cnab240/banco_brasil.rb +12 -6
- data/lib/br_boleto/remessa/cnab240/bradesco.rb +1 -1
- data/lib/br_boleto/remessa/cnab240/helper/segmento_p.rb +1 -1
- data/lib/br_boleto/remessa/cnab240/itau.rb +20 -3
- data/lib/br_boleto/remessa/cnab240/santander.rb +25 -24
- data/lib/br_boleto/remessa/cnab400/caixa.rb +197 -0
- data/lib/br_boleto/remessa/cnab400/santander.rb +32 -27
- data/lib/br_boleto/retorno/base.rb +24 -0
- data/lib/br_boleto/retorno/cnab240/base.rb +6 -2
- data/lib/br_boleto/retorno/cnab240/santander.rb +5 -1
- data/lib/br_boleto/retorno/cnab400/banco_brasil.rb +3 -1
- data/lib/br_boleto/retorno/cnab400/base.rb +2 -1
- data/lib/br_boleto/retorno/cnab400/bradesco.rb +6 -0
- data/lib/br_boleto/retorno/cnab400/caixa.rb +49 -0
- data/lib/br_boleto/retorno/cnab400/itau.rb +5 -1
- data/lib/br_boleto/retorno/cnab400/santander.rb +5 -1
- data/lib/br_boleto/retorno/cnab400/sicoob.rb +1 -0
- data/lib/br_boleto/retorno/cnab400/sicredi.rb +6 -0
- data/lib/br_boleto/retorno/pagamento.rb +50 -4
- data/lib/br_boleto/version.rb +1 -1
- data/test/br_boleto/boleto/santander_test.rb +1 -1
- data/test/br_boleto/boleto/sicredi_test.rb +1 -0
- data/test/br_boleto/conta/banco_brasil_test.rb +157 -0
- data/test/br_boleto/conta/base_test.rb +8 -8
- data/test/br_boleto/conta/bradesco_test.rb +165 -0
- data/test/br_boleto/conta/caixa_test.rb +159 -1
- data/test/br_boleto/conta/cecred_test.rb +22 -0
- data/test/br_boleto/conta/itau_test.rb +346 -3
- data/test/br_boleto/conta/santantader_test.rb +123 -10
- data/test/br_boleto/conta/sicoob_test.rb +8 -0
- data/test/br_boleto/conta/sicredi_test.rb +79 -0
- data/test/br_boleto/conta/unicred_test.rb +7 -7
- data/test/br_boleto/remessa/cnab240/itau_test.rb +1 -1
- data/test/br_boleto/remessa/cnab400/caixa_test.rb +184 -0
- data/test/br_boleto/remessa/cnab400/santander_test.rb +30 -17
- data/test/br_boleto/retorno/cnab240/banco_brasil_test.rb +30 -6
- data/test/br_boleto/retorno/cnab240/base_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/bradesco_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/caixa_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/cecred_test.rb +15 -3
- data/test/br_boleto/retorno/cnab240/itau_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/santander_test.rb +30 -6
- data/test/br_boleto/retorno/cnab240/sicoob_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/sicredi_test.rb +25 -5
- data/test/br_boleto/retorno/cnab240/unicred_test.rb +25 -5
- data/test/br_boleto/retorno/cnab400/bradesco_test.rb +30 -6
- data/test/br_boleto/retorno/cnab400/caixa_test.rb +7 -0
- data/test/br_boleto/retorno/cnab400/itau_test.rb +14 -4
- data/test/br_boleto/retorno/cnab400/sicoob_test.rb +25 -5
- data/test/br_boleto/retorno/cnab400/sicredi_test.rb +10 -2
- data/test/br_boleto/retorno/cnab400/unicred.rb +30 -6
- data/test/br_boleto/retorno/pagamento_test.rb +49 -1
- data/test/factories/remessa/cnab400/caixa.rb +8 -0
- data/test/fixtures/retorno/cnab240/santander.ret +1 -1
- metadata +10 -2
@@ -738,14 +738,14 @@ describe BrBoleto::Remessa::Base do
|
|
738
738
|
it { subject.get_codigo_desconto('55').must_equal '55' }
|
739
739
|
end
|
740
740
|
describe "#get_codigo_protesto" do
|
741
|
-
it { subject.get_codigo_protesto('1').must_equal '1' } # Protestar Dias Corridos
|
742
|
-
it { subject.get_codigo_protesto('2').must_equal '2' } # Protestar Dias Úteis
|
743
|
-
it { subject.get_codigo_protesto('3').must_equal '3' } # Não Protesta
|
744
|
-
it { subject.get_codigo_protesto('4').must_equal '4' } # Protestar Fim Falimentar - Dias Úteis
|
745
|
-
it { subject.get_codigo_protesto('5').must_equal '5' } # Protestar Fim Falimentar - Dias Corridos
|
746
|
-
it { subject.get_codigo_protesto('8').must_equal '8' } # Negativação sem Protesto
|
747
|
-
it { subject.get_codigo_protesto('9').must_equal '9' } # Cancelamento Protesto Automático
|
748
|
-
it { subject.get_codigo_protesto('55').must_equal '55' }
|
741
|
+
it { subject.get_codigo_protesto('1', 240).must_equal '1' } # Protestar Dias Corridos
|
742
|
+
it { subject.get_codigo_protesto('2', 240).must_equal '2' } # Protestar Dias Úteis
|
743
|
+
it { subject.get_codigo_protesto('3', 240).must_equal '3' } # Não Protesta
|
744
|
+
it { subject.get_codigo_protesto('4', 240).must_equal '4' } # Protestar Fim Falimentar - Dias Úteis
|
745
|
+
it { subject.get_codigo_protesto('5', 240).must_equal '5' } # Protestar Fim Falimentar - Dias Corridos
|
746
|
+
it { subject.get_codigo_protesto('8', 240).must_equal '8' } # Negativação sem Protesto
|
747
|
+
it { subject.get_codigo_protesto('9', 240).must_equal '9' } # Cancelamento Protesto Automático
|
748
|
+
it { subject.get_codigo_protesto('55', 240).must_equal '55' }
|
749
749
|
end
|
750
750
|
describe "#get_codigo_moeda_240" do
|
751
751
|
it { subject.get_codigo_moeda('01', 240).must_equal '01' } # Reservado para Uso Futuro
|
@@ -139,4 +139,169 @@ describe BrBoleto::Conta::Bradesco do
|
|
139
139
|
it { subject.get_codigo_movimento_remessa('34', 400).must_equal '69' } # Cancelamento do rateio de crédito.
|
140
140
|
end
|
141
141
|
end
|
142
|
+
|
143
|
+
describe "#get_codigo_movimento_retorno" do
|
144
|
+
context "CÓDIGOS para o Bradesco" do
|
145
|
+
it { subject.get_codigo_movimento_retorno('73', 240).must_equal '73' } # Confirmação recebimento pedido de negativação
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
describe "#get_codigo_movimento_retorno" do
|
150
|
+
context "CÓDIGOS para o cnab 400 do Bradesco" do
|
151
|
+
it { subject.get_codigo_movimento_retorno('15', 400).must_equal '101' } # Liquidação em Cartório (sem motivo)
|
152
|
+
it { subject.get_codigo_movimento_retorno('24', 400).must_equal '106' } # Entrada rejeitada por CEP Irregular
|
153
|
+
it { subject.get_codigo_movimento_retorno('25', 400).must_equal '170' } # Confirmação Receb.Inst.de Protesto Falimentar
|
154
|
+
it { subject.get_codigo_movimento_retorno('27', 400).must_equal '100' } # Baixa Rejeitada
|
155
|
+
it { subject.get_codigo_movimento_retorno('32', 400).must_equal '26' } # Instrução Rejeitada
|
156
|
+
it { subject.get_codigo_movimento_retorno('33', 400).must_equal '27' } # Confirmação Pedido Alteração Outros Dados (sem motivo)
|
157
|
+
it { subject.get_codigo_movimento_retorno('40', 400).must_equal '171' } # Estorno de pagamento
|
158
|
+
it { subject.get_codigo_movimento_retorno('55', 400).must_equal '63' } # Sustado judicial
|
159
|
+
it { subject.get_codigo_movimento_retorno('68', 400).must_equal '33' } # Acerto dos dados do rateio de Crédito
|
160
|
+
it { subject.get_codigo_movimento_retorno('69', 400).must_equal '34' } # Cancelamento dos dados do rateio
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
describe "#get_codigo_motivo_ocorrencia" do
|
165
|
+
context "CÓDIGOS motivo ocorrencia A do Bradesco para CNAB 400" do
|
166
|
+
it { subject.get_codigo_motivo_ocorrencia('00', '02', 400).must_equal 'A00' } # Ocorrência aceita
|
167
|
+
it { subject.get_codigo_motivo_ocorrencia('03', '03', 400).must_equal 'A05' } # Código da ocorrência inválida
|
168
|
+
it { subject.get_codigo_motivo_ocorrencia('05', '26', 400).must_equal 'A208' } # Código de ocorrência não numérico
|
169
|
+
it { subject.get_codigo_motivo_ocorrencia('44', '30', 400).must_equal 'A209' } # Agência Beneficiário não prevista
|
170
|
+
it { subject.get_codigo_motivo_ocorrencia('65', '35', 400).must_equal 'A83' } # Limite excedido
|
171
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '100', 400).must_equal 'A84' } # Número autorização inexistente
|
172
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '26', 400).must_equal 'A68' } # Débito automático agendado
|
173
|
+
it { subject.get_codigo_motivo_ocorrencia('68', '30', 400).must_equal 'A69' } # Débito não agendado - erro nos dados de remessa
|
174
|
+
it { subject.get_codigo_motivo_ocorrencia('69', '02', 400).must_equal 'A70' } # Débito não agendado - Pagador não consta no cadastro de autorizante
|
175
|
+
it { subject.get_codigo_motivo_ocorrencia('70', '03', 400).must_equal 'A71' } # Débito não agendado - Beneficiário não autorizado pelo Pagador
|
176
|
+
it { subject.get_codigo_motivo_ocorrencia('71', '26', 400).must_equal 'A72' } # Débito não agendado - Beneficiário não participa da modalidade de déb.automático
|
177
|
+
it { subject.get_codigo_motivo_ocorrencia('72', '30', 400).must_equal 'A73' } # Débito não agendado - Código de moeda diferente de R$
|
178
|
+
it { subject.get_codigo_motivo_ocorrencia('73', '35', 400).must_equal 'A74' } # Débito não agendado - Data de vencimento inválida/vencida
|
179
|
+
it { subject.get_codigo_motivo_ocorrencia('74', '100', 400).must_equal 'A75' } # Débito não agendado - Conforme seu pedido, Título não registrado
|
180
|
+
it { subject.get_codigo_motivo_ocorrencia('75', '02', 400).must_equal 'A76' } # Débito não agendado - Tipo do número de inscrição do pagador debitado inválido
|
181
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '03', 400).must_equal 'A103' } # Pagador Eletrônico DDA
|
182
|
+
it { subject.get_codigo_motivo_ocorrencia('83', '26', 400).must_equal 'A218' } # Cancelado pelo Pagador e Mantido Pendente, conforme negociação
|
183
|
+
it { subject.get_codigo_motivo_ocorrencia('84', '30', 400).must_equal 'A219' } # Cancelado pelo pagador e baixado, conforme negociação
|
184
|
+
it { subject.get_codigo_motivo_ocorrencia('88', '35', 400).must_equal 'A210' } # E-mail Pagador não lido no prazo 5 dias
|
185
|
+
it { subject.get_codigo_motivo_ocorrencia('89', '100', 400).must_equal 'A211' } # Email Pagador não enviado – título com débito automático
|
186
|
+
it { subject.get_codigo_motivo_ocorrencia('90', '26', 400).must_equal 'A212' } # Email pagador não enviado – título de cobrança sem registro
|
187
|
+
it { subject.get_codigo_motivo_ocorrencia('91', '30', 400).must_equal 'A213' } # E-mail pagador não recebido
|
188
|
+
it { subject.get_codigo_motivo_ocorrencia('94', '35', 400).must_equal 'A214' } # Título Penhorado – Instrução Não Liberada pela Agência
|
189
|
+
it { subject.get_codigo_motivo_ocorrencia('97', '03', 400).must_equal 'A215' } # Instrução não permitida título negativado
|
190
|
+
it { subject.get_codigo_motivo_ocorrencia('98', '100', 400).must_equal 'A216' } # Inclusão Bloqueada face a determinação Judicial
|
191
|
+
it { subject.get_codigo_motivo_ocorrencia('99', '30', 400).must_equal 'A217' } # Telefone beneficiário não informado / inconsistente
|
192
|
+
end
|
193
|
+
|
194
|
+
context "CÓDIGOS motivo ocorrencia B do Bradesco para CNAB 400" do
|
195
|
+
it { subject.get_codigo_motivo_ocorrencia('68', '28', 400).must_equal 'B16' } # Fornecimento de máquina FAX
|
196
|
+
it { subject.get_codigo_motivo_ocorrencia('81', '28', 400).must_equal 'B14' } # Tarifa reapresentação automática título
|
197
|
+
it { subject.get_codigo_motivo_ocorrencia('83', '28', 400).must_equal 'B15' } # Tarifa Rateio de Crédito
|
198
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '28', 400).must_equal 'B31' } # Tarifa de permanência título cadastrado
|
199
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '28', 400).must_equal 'B32' } # Tarifa de registro
|
200
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '28', 400).must_equal 'B33' } # Tarifa título pago no Bradesco
|
201
|
+
it { subject.get_codigo_motivo_ocorrencia('14', '28', 400).must_equal 'B34' } # Tarifa título pago compensação
|
202
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '28', 400).must_equal 'B35' } # Tarifa título baixado não pago
|
203
|
+
it { subject.get_codigo_motivo_ocorrencia('16', '28', 400).must_equal 'B36' } # Tarifa alteração de vencimento
|
204
|
+
it { subject.get_codigo_motivo_ocorrencia('17', '28', 400).must_equal 'B37' } # Tarifa concessão abatimento
|
205
|
+
it { subject.get_codigo_motivo_ocorrencia('18', '28', 400).must_equal 'B38' } # Tarifa cancelamento de abatimento
|
206
|
+
it { subject.get_codigo_motivo_ocorrencia('19', '28', 400).must_equal 'B39' } # Tarifa concessão desconto
|
207
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '28', 400).must_equal 'B40' } # Tarifa cancelamento desconto
|
208
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '28', 400).must_equal 'B41' } # Tarifa título pago cics
|
209
|
+
it { subject.get_codigo_motivo_ocorrencia('22', '28', 400).must_equal 'B42' } # Tarifa título pago Internet
|
210
|
+
it { subject.get_codigo_motivo_ocorrencia('23', '28', 400).must_equal 'B43' } # Tarifa título pago term. gerencial serviços
|
211
|
+
it { subject.get_codigo_motivo_ocorrencia('24', '28', 400).must_equal 'B44' } # Tarifa título pago Pág-Contas
|
212
|
+
it { subject.get_codigo_motivo_ocorrencia('25', '28', 400).must_equal 'B45' } # Tarifa título pago Fone Fácil
|
213
|
+
it { subject.get_codigo_motivo_ocorrencia('26', '28', 400).must_equal 'B46' } # Tarifa título Déb. Postagem
|
214
|
+
it { subject.get_codigo_motivo_ocorrencia('27', '28', 400).must_equal 'B47' } # Tarifa impressão de títulos pendentes
|
215
|
+
it { subject.get_codigo_motivo_ocorrencia('28', '28', 400).must_equal 'B48' } # Tarifa título pago BDN
|
216
|
+
it { subject.get_codigo_motivo_ocorrencia('29', '28', 400).must_equal 'B49' } # Tarifa título pago Term. Multi Função
|
217
|
+
it { subject.get_codigo_motivo_ocorrencia('30', '28', 400).must_equal 'B50' } # Impressão de títulos baixados
|
218
|
+
it { subject.get_codigo_motivo_ocorrencia('31', '28', 400).must_equal 'B51' } # Impressão de títulos pagos
|
219
|
+
it { subject.get_codigo_motivo_ocorrencia('32', '28', 400).must_equal 'B52' } # Tarifa título pago Pagfor
|
220
|
+
it { subject.get_codigo_motivo_ocorrencia('33', '28', 400).must_equal 'B53' } # Tarifa reg/pgto – guichê caixa
|
221
|
+
it { subject.get_codigo_motivo_ocorrencia('34', '28', 400).must_equal 'B54' } # Tarifa título pago retaguarda
|
222
|
+
it { subject.get_codigo_motivo_ocorrencia('35', '28', 400).must_equal 'B55' } # Tarifa título pago Subcentro
|
223
|
+
it { subject.get_codigo_motivo_ocorrencia('36', '28', 400).must_equal 'B56' } # Tarifa título pago Cartão de Crédito
|
224
|
+
it { subject.get_codigo_motivo_ocorrencia('37', '28', 400).must_equal 'B57' } # Tarifa título pago Comp Eletrônica
|
225
|
+
it { subject.get_codigo_motivo_ocorrencia('38', '28', 400).must_equal 'B58' } # Tarifa título Baix. Pg. Cartório
|
226
|
+
it { subject.get_codigo_motivo_ocorrencia('39', '28', 400).must_equal 'B59' } # Tarifa título baixado acerto BCO
|
227
|
+
it { subject.get_codigo_motivo_ocorrencia('40', '28', 400).must_equal 'B60' } # Baixa registro em duplicidade
|
228
|
+
it { subject.get_codigo_motivo_ocorrencia('41', '28', 400).must_equal 'B61' } # Tarifa título baixado decurso prazo
|
229
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '28', 400).must_equal 'B62' } # Tarifa título baixado Judicialmente
|
230
|
+
it { subject.get_codigo_motivo_ocorrencia('43', '28', 400).must_equal 'B63' } # Tarifa título baixado via remessa
|
231
|
+
it { subject.get_codigo_motivo_ocorrencia('44', '28', 400).must_equal 'B64' } # Tarifa título baixado rastreamento
|
232
|
+
it { subject.get_codigo_motivo_ocorrencia('45', '28', 400).must_equal 'B65' } # Tarifa título baixado conf. Pedido
|
233
|
+
it { subject.get_codigo_motivo_ocorrencia('46', '28', 400).must_equal 'B66' } # Tarifa título baixado protestado
|
234
|
+
it { subject.get_codigo_motivo_ocorrencia('47', '28', 400).must_equal 'B67' } # Tarifa título baixado p/ devolução
|
235
|
+
it { subject.get_codigo_motivo_ocorrencia('48', '28', 400).must_equal 'B68' } # Tarifa título baixado franco pagto
|
236
|
+
it { subject.get_codigo_motivo_ocorrencia('49', '28', 400).must_equal 'B69' } # Tarifa título baixado SUST/RET/CARTÓRIO
|
237
|
+
it { subject.get_codigo_motivo_ocorrencia('50', '28', 400).must_equal 'B70' } # Tarifa título baixado SUS/SEM/REM/CARTÓRIO
|
238
|
+
it { subject.get_codigo_motivo_ocorrencia('51', '28', 400).must_equal 'B71' } # Tarifa título transferido desconto
|
239
|
+
it { subject.get_codigo_motivo_ocorrencia('52', '28', 400).must_equal 'B72' } # Cobrado baixa manual
|
240
|
+
it { subject.get_codigo_motivo_ocorrencia('53', '28', 400).must_equal 'B73' } # Baixa por acerto cliente
|
241
|
+
it { subject.get_codigo_motivo_ocorrencia('54', '28', 400).must_equal 'B74' } # Tarifa baixa por contabilidade
|
242
|
+
it { subject.get_codigo_motivo_ocorrencia('55', '28', 400).must_equal 'B75' } # Tr. tentativa cons deb aut
|
243
|
+
it { subject.get_codigo_motivo_ocorrencia('56', '28', 400).must_equal 'B76' } # Tr. credito online
|
244
|
+
it { subject.get_codigo_motivo_ocorrencia('57', '28', 400).must_equal 'B77' } # Tarifa reg/pagto Bradesco Expresso
|
245
|
+
it { subject.get_codigo_motivo_ocorrencia('58', '28', 400).must_equal 'B78' } # Tarifa emissão Papeleta
|
246
|
+
it { subject.get_codigo_motivo_ocorrencia('59', '28', 400).must_equal 'B79' } # Tarifa fornec papeleta semi preenchida
|
247
|
+
it { subject.get_codigo_motivo_ocorrencia('60', '28', 400).must_equal 'B80' } # Acondicionador de papeletas (RPB)S
|
248
|
+
it { subject.get_codigo_motivo_ocorrencia('61', '28', 400).must_equal 'B81' } # Acond. De papelatas (RPB)s PERSONAL
|
249
|
+
it { subject.get_codigo_motivo_ocorrencia('62', '28', 400).must_equal 'B82' } # Papeleta formulário branco
|
250
|
+
it { subject.get_codigo_motivo_ocorrencia('63', '28', 400).must_equal 'B83' } # Formulário A4 serrilhado
|
251
|
+
it { subject.get_codigo_motivo_ocorrencia('64', '28', 400).must_equal 'B84' } # Fornecimento de softwares transmiss
|
252
|
+
it { subject.get_codigo_motivo_ocorrencia('65', '28', 400).must_equal 'B85' } # Fornecimento de softwares consulta
|
253
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '28', 400).must_equal 'B86' } # Fornecimento Micro Completo
|
254
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '28', 400).must_equal 'B87' } # Fornecimento MODEN
|
255
|
+
it { subject.get_codigo_motivo_ocorrencia('69', '28', 400).must_equal 'B88' } # Fornecimento de máquinas óticas
|
256
|
+
it { subject.get_codigo_motivo_ocorrencia('70', '28', 400).must_equal 'B89' } # Fornecimento de Impressoras
|
257
|
+
it { subject.get_codigo_motivo_ocorrencia('71', '28', 400).must_equal 'B90' } # Reativação de título
|
258
|
+
it { subject.get_codigo_motivo_ocorrencia('72', '28', 400).must_equal 'B91' } # Alteração de produto negociado
|
259
|
+
it { subject.get_codigo_motivo_ocorrencia('73', '28', 400).must_equal 'B92' } # Tarifa emissão de contra recibo
|
260
|
+
it { subject.get_codigo_motivo_ocorrencia('74', '28', 400).must_equal 'B93' } # Tarifa emissão 2a via papeleta
|
261
|
+
it { subject.get_codigo_motivo_ocorrencia('75', '28', 400).must_equal 'B94' } # Tarifa regravação arquivo retorno
|
262
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '28', 400).must_equal 'B95' } # Arq. Títulos a vencer mensal
|
263
|
+
it { subject.get_codigo_motivo_ocorrencia('77', '28', 400).must_equal 'B96' } # Listagem auxiliar de crédito
|
264
|
+
it { subject.get_codigo_motivo_ocorrencia('78', '28', 400).must_equal 'B97' } # Tarifa cadastro cartela instrução permanente
|
265
|
+
it { subject.get_codigo_motivo_ocorrencia('79', '28', 400).must_equal 'B98' } # Canalização de Crédito
|
266
|
+
it { subject.get_codigo_motivo_ocorrencia('80', '28', 400).must_equal 'B99' } # Cadastro de Mensagem Fixa
|
267
|
+
it { subject.get_codigo_motivo_ocorrencia('82', '28', 400).must_equal 'B100' } # Tarifa registro título déb. Automático
|
268
|
+
it { subject.get_codigo_motivo_ocorrencia('84', '28', 400).must_equal 'B101' } # Emissão papeleta sem valor
|
269
|
+
it { subject.get_codigo_motivo_ocorrencia('85', '28', 400).must_equal 'B102' } # Sem uso
|
270
|
+
it { subject.get_codigo_motivo_ocorrencia('86', '28', 400).must_equal 'B103' } # Cadastro de reembolso de diferença
|
271
|
+
it { subject.get_codigo_motivo_ocorrencia('87', '28', 400).must_equal 'B104' } # Relatório fluxo de pagto
|
272
|
+
it { subject.get_codigo_motivo_ocorrencia('88', '28', 400).must_equal 'B105' } # Emissão Extrato mov. Carteira
|
273
|
+
it { subject.get_codigo_motivo_ocorrencia('89', '28', 400).must_equal 'B106' } # Mensagem campo local de pagto
|
274
|
+
it { subject.get_codigo_motivo_ocorrencia('90', '28', 400).must_equal 'B107' } # Cadastro Concessionária serv. Publ.
|
275
|
+
it { subject.get_codigo_motivo_ocorrencia('91', '28', 400).must_equal 'B108' } # Classif. Extrato Conta Corrente
|
276
|
+
it { subject.get_codigo_motivo_ocorrencia('92', '28', 400).must_equal 'B109' } # Contabilidade especial
|
277
|
+
it { subject.get_codigo_motivo_ocorrencia('93', '28', 400).must_equal 'B110' } # Realimentação pagto
|
278
|
+
it { subject.get_codigo_motivo_ocorrencia('94', '28', 400).must_equal 'B111' } # Repasse de Créditos
|
279
|
+
it { subject.get_codigo_motivo_ocorrencia('96', '28', 400).must_equal 'B112' } # Tarifa reg. Pagto outras mídias
|
280
|
+
it { subject.get_codigo_motivo_ocorrencia('97', '28', 400).must_equal 'B113' } # Tarifa Reg/Pagto – Net Empresa
|
281
|
+
it { subject.get_codigo_motivo_ocorrencia('98', '28', 400).must_equal 'B114' } # Tarifa título pago vencido
|
282
|
+
it { subject.get_codigo_motivo_ocorrencia('99', '28', 400).must_equal 'B115' } # TR Tít. Baixado por decurso prazo
|
283
|
+
it { subject.get_codigo_motivo_ocorrencia('100', '28', 400).must_equal 'B116' } # Arquivo Retorno Antecipado
|
284
|
+
it { subject.get_codigo_motivo_ocorrencia('101', '28', 400).must_equal 'B117' } # Arq retorno Hora/Hora
|
285
|
+
it { subject.get_codigo_motivo_ocorrencia('102', '28', 400).must_equal 'B118' } # TR. Agendamento Déb Aut
|
286
|
+
it { subject.get_codigo_motivo_ocorrencia('105', '28', 400).must_equal 'B119' } # TR. Agendamento rat. Crédito
|
287
|
+
it { subject.get_codigo_motivo_ocorrencia('106', '28', 400).must_equal 'B120' } # TR Emissão aviso rateio
|
288
|
+
it { subject.get_codigo_motivo_ocorrencia('107', '28', 400).must_equal 'B121' } # Extrato de protesto
|
289
|
+
end
|
290
|
+
|
291
|
+
context "CÓDIGOS motivo ocorrencia C do Bradesco para CNAB 400" do
|
292
|
+
it { subject.get_codigo_motivo_ocorrencia('00', '10', 400).must_equal 'C00' } # Baixado Conforme Instruções da Agência
|
293
|
+
it { subject.get_codigo_motivo_ocorrencia('16', '10', 400).must_equal 'C16' } # Título Baixado pelo Banco por decurso Prazo
|
294
|
+
it { subject.get_codigo_motivo_ocorrencia('17', '10', 400).must_equal 'C17' } # Titulo Baixado Transferido Carteira
|
295
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '10', 400).must_equal 'C20' } # Titulo Baixado e Transferido para Desconto
|
296
|
+
it { subject.get_codigo_motivo_ocorrencia('00', '06', 400).must_equal 'C35' } # Título pago com dinheiro
|
297
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '09', 400).must_equal 'C36' } # Título pago com cheque
|
298
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '17', 400).must_equal 'C10' } # Baixa Comandada pelo cliente
|
299
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '06', 400).must_equal 'C42' } # Rateio não efetuado, cód. Calculo 2 (VLR. Registro) e v (NOVO)
|
300
|
+
end
|
301
|
+
|
302
|
+
context "CÓDIGOS motivo ocorrencia C do Bradesco para CNAB 400" do
|
303
|
+
it { subject.get_codigo_motivo_ocorrencia('78', '29', 400).must_equal 'D78' } # Pagador alega que faturamento e indevido
|
304
|
+
it { subject.get_codigo_motivo_ocorrencia('95', '29', 400).must_equal 'D95' } # Pagador aceita/reconhece o faturamento
|
305
|
+
end
|
306
|
+
end
|
142
307
|
end
|
@@ -151,5 +151,163 @@ describe BrBoleto::Conta::Caixa do
|
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
154
|
-
|
154
|
+
describe "#get_codigo_movimento_retorno" do
|
155
|
+
context "CÓDIGOS para o Caixa" do
|
156
|
+
it { subject.get_codigo_movimento_retorno('01', 240).must_equal '01' } # Solicitação de Impressão de Títulos Confirmada
|
157
|
+
it { subject.get_codigo_movimento_retorno('35', 240).must_equal '135' } # Confirmação de Inclusão Banco de Sacado
|
158
|
+
it { subject.get_codigo_movimento_retorno('36', 240).must_equal '136' } # Confirmação de Alteração Banco de Sacado
|
159
|
+
it { subject.get_codigo_movimento_retorno('37', 240).must_equal '137' } # Confirmação de Exclusão Banco de Sacado
|
160
|
+
it { subject.get_codigo_movimento_retorno('38', 240).must_equal '138' } # Emissão de Bloquetos de Banco de Sacado
|
161
|
+
it { subject.get_codigo_movimento_retorno('39', 240).must_equal '139' } # Manutenção de Sacado Rejeitada
|
162
|
+
it { subject.get_codigo_movimento_retorno('40', 240).must_equal '140' } # Entrada de Título via Banco de Sacado Rejeitada
|
163
|
+
it { subject.get_codigo_movimento_retorno('41', 240).must_equal '141' } # Manutenção de Banco de Sacado Rejeitada
|
164
|
+
it { subject.get_codigo_movimento_retorno('44', 240).must_equal '144' } # Estorno de Baixa / Liquidação
|
165
|
+
it { subject.get_codigo_movimento_retorno('45', 240).must_equal '145' } # Alteração de Dados
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
describe "#get_codigo_motivo_ocorrencia" do
|
170
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A para CNAB 240" do
|
171
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '02', 240).must_equal 'A115' } # Data de Geração Inválida
|
172
|
+
it { subject.get_codigo_motivo_ocorrencia('64', '03', 240).must_equal 'A116' } # Entrada Inválida para Cobrança Caucionada
|
173
|
+
it { subject.get_codigo_motivo_ocorrencia('65', '26', 240).must_equal 'A117' } # CEP do Pagador não encontrado
|
174
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '30', 240).must_equal 'A118' } # Agencia Cobradora não encontrada
|
175
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '02', 240).must_equal 'A119' } # Agencia Beneficiário não encontrada
|
176
|
+
it { subject.get_codigo_motivo_ocorrencia('68', '03', 240).must_equal 'A120' } # Movimentação inválida para título
|
177
|
+
it { subject.get_codigo_motivo_ocorrencia('69', '26', 240).must_equal 'A121' } # Alteração de dados inválida
|
178
|
+
it { subject.get_codigo_motivo_ocorrencia('70', '02', 240).must_equal 'A122' } # Apelido do cliente não cadastrado
|
179
|
+
it { subject.get_codigo_motivo_ocorrencia('71', '03', 240).must_equal 'A123' } # Erro na composição do arquivo
|
180
|
+
it { subject.get_codigo_motivo_ocorrencia('72', '26', 240).must_equal 'A124' } # Lote de serviço inválido
|
181
|
+
it { subject.get_codigo_motivo_ocorrencia('73', '30', 240).must_equal 'A105' } # Código do Beneficiário inválido
|
182
|
+
it { subject.get_codigo_motivo_ocorrencia('74', '02', 240).must_equal 'A125' } # Beneficiário não pertencente a Cobrança Eletrônica
|
183
|
+
it { subject.get_codigo_motivo_ocorrencia('75', '03', 240).must_equal 'A126' } # Nome da Empresa inválido
|
184
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '26', 240).must_equal 'A127' } # Nome do Banco inválido
|
185
|
+
it { subject.get_codigo_motivo_ocorrencia('77', '30', 240).must_equal 'A128' } # Código da Remessa inválido
|
186
|
+
it { subject.get_codigo_motivo_ocorrencia('78', '02', 240).must_equal 'A129' } # Data/Hora Geração do arquivo inválida
|
187
|
+
it { subject.get_codigo_motivo_ocorrencia('79', '03', 240).must_equal 'A130' } # Número Sequencial do arquivo inválido
|
188
|
+
it { subject.get_codigo_motivo_ocorrencia('80', '26', 240).must_equal 'A131' } # Versão do Lay out do arquivo inválido
|
189
|
+
it { subject.get_codigo_motivo_ocorrencia('81', '30', 240).must_equal 'A132' } # Literal REMESSA-TESTE - Válido só p/ fase testes
|
190
|
+
it { subject.get_codigo_motivo_ocorrencia('82', '02', 240).must_equal 'A133' } # Literal REMESSA-TESTE - Obrigatório p/ fase testes
|
191
|
+
it { subject.get_codigo_motivo_ocorrencia('83', '03', 240).must_equal 'A134' } # Tp Número Inscrição Empresa inválido
|
192
|
+
it { subject.get_codigo_motivo_ocorrencia('84', '26', 240).must_equal 'A135' } # Tipo de Operação inválido
|
193
|
+
it { subject.get_codigo_motivo_ocorrencia('85', '02', 240).must_equal 'A136' } # Tipo de serviço inválido
|
194
|
+
it { subject.get_codigo_motivo_ocorrencia('86', '03', 240).must_equal 'A137' } # Forma de lançamento inválido
|
195
|
+
it { subject.get_codigo_motivo_ocorrencia('87', '26', 240).must_equal 'A138' } # Número da remessa inválido
|
196
|
+
it { subject.get_codigo_motivo_ocorrencia('88', '30', 240).must_equal 'A139' } # Número da remessa menor/igual remessa anterior
|
197
|
+
it { subject.get_codigo_motivo_ocorrencia('89', '02', 240).must_equal 'A140' } # Lote de serviço divergente
|
198
|
+
it { subject.get_codigo_motivo_ocorrencia('90', '03', 240).must_equal 'A141' } # Número sequencial do registro inválido
|
199
|
+
it { subject.get_codigo_motivo_ocorrencia('91', '26', 240).must_equal 'A142' } # Erro seq de segmento do registro detalhe
|
200
|
+
it { subject.get_codigo_motivo_ocorrencia('92', '30', 240).must_equal 'A143' } # Cod movto divergente entre grupo de segm
|
201
|
+
it { subject.get_codigo_motivo_ocorrencia('93', '02', 240).must_equal 'A144' } # Qtde registros no lote inválido
|
202
|
+
it { subject.get_codigo_motivo_ocorrencia('94', '03', 240).must_equal 'A145' } # Qtde registros no lote divergente
|
203
|
+
it { subject.get_codigo_motivo_ocorrencia('95', '26', 240).must_equal 'A146' } # Qtde lotes no arquivo inválido
|
204
|
+
it { subject.get_codigo_motivo_ocorrencia('96', '30', 240).must_equal 'A147' } # Qtde lotes no arquivo divergente
|
205
|
+
it { subject.get_codigo_motivo_ocorrencia('97', '02', 240).must_equal 'A148' } # Qtde registros no arquivo inválido
|
206
|
+
it { subject.get_codigo_motivo_ocorrencia('98', '03', 240).must_equal 'A149' } # Qtde registros no arquivo divergente
|
207
|
+
it { subject.get_codigo_motivo_ocorrencia('99', '26', 240).must_equal 'A150' } # Código de DDD inválido
|
208
|
+
end
|
209
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência B para CNAB 240" do
|
210
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '28', 240).must_equal 'B21' } # Redisponibilização de Arquivo Retorno Eletrônico
|
211
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '28', 240).must_equal 'B22' } # Banco de Pagadores
|
212
|
+
it { subject.get_codigo_motivo_ocorrencia('17', '28', 240).must_equal 'B23' } # Entrega Aviso Disp Boleto via e-amail ao pagador (s/ emissão Boleto)
|
213
|
+
it { subject.get_codigo_motivo_ocorrencia('18', '28', 240).must_equal 'B24' } # Emissão de Boleto Pré-impresso CAIXA matricial
|
214
|
+
it { subject.get_codigo_motivo_ocorrencia('19', '28', 240).must_equal 'B25' } # Emissão de Boleto Pré-impresso CAIXA A4
|
215
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '28', 240).must_equal 'B26' } # Emissão de Boleto Padrão CAIXA
|
216
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '28', 240).must_equal 'B27' } # Emissão de Boleto/Carnê
|
217
|
+
it { subject.get_codigo_motivo_ocorrencia('31', '28', 240).must_equal 'B28' } # Emissão de Aviso de Vencido
|
218
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '28', 240).must_equal 'B29' } # Alteração cadastral de dados do título - sem emissão de aviso
|
219
|
+
it { subject.get_codigo_motivo_ocorrencia('45', '28', 240).must_equal 'B30' } # Emissão de 2a via de Boleto Cobrança Registrada
|
220
|
+
end
|
221
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência C para CNAB 240" do
|
222
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '06', 240).must_equal 'C100' } # Casa Lotérica
|
223
|
+
it { subject.get_codigo_motivo_ocorrencia('03', '09', 240).must_equal 'C101' } # Agências CAIXA
|
224
|
+
it { subject.get_codigo_motivo_ocorrencia('07', '17', 240).must_equal 'C102' } # Correspondente Bancário
|
225
|
+
end
|
226
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência C para CNAB 240 com Código 08" do
|
227
|
+
it { subject.get_codigo_motivo_ocorrencia('01', '08', 240).must_equal 'C35' } # Liquidação em Dinheiro
|
228
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '08', 240).must_equal 'C36' } # Liquidação em Cheque
|
229
|
+
end
|
230
|
+
|
231
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A para CNAB 400" do
|
232
|
+
it { subject.get_codigo_motivo_ocorrencia('01', '02', 400).must_equal 'A220' } # Movimento sem Beneficiário Correspondente
|
233
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '03', 400).must_equal 'A221' } # Movimento sem Título Correspondente
|
234
|
+
it { subject.get_codigo_motivo_ocorrencia('08', '26', 400).must_equal 'A222' } # Movimento para título já com movimentação no dia
|
235
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '30', 400).must_equal 'A223' } # Nosso Número não pertence ao Beneficiário
|
236
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '30', 400).must_equal 'A224' } # Inclusão de título já existente na base
|
237
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '26', 400).must_equal 'A225' } # Movimento duplicado
|
238
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '03', 400).must_equal 'A116' } # Entrada Inválida para Cobrança Caucionada (Beneficiário não possui conta Caução)
|
239
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '02', 400).must_equal 'A117' } # CEP do Pagador não encontrado (não foi possível a determinação da Agência Cobradora para o título)
|
240
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '02', 400).must_equal 'A118' } # Agência cobradora não encontrada (agência designada para cobradora não cadastrada no sistema)
|
241
|
+
it { subject.get_codigo_motivo_ocorrencia('22', '03', 400).must_equal 'A119' } # Agência Beneficiário não encontrada (Agência do Beneficiário não cadastrada no sistema)
|
242
|
+
it { subject.get_codigo_motivo_ocorrencia('45', '26', 400).must_equal 'A226' } # Data de Vencimento com prazo superior ao limite
|
243
|
+
it { subject.get_codigo_motivo_ocorrencia('49', '30', 400).must_equal 'A227' } # Movimento inválido para título Baixado/Liquidado
|
244
|
+
it { subject.get_codigo_motivo_ocorrencia('50', '02', 400).must_equal 'A228' } # Movimento inválido para título enviado a Cartório
|
245
|
+
it { subject.get_codigo_motivo_ocorrencia('54', '03', 400).must_equal 'A229' } # Faixa de CEP da Agência Cobradora não abrange CEP do Pagador
|
246
|
+
it { subject.get_codigo_motivo_ocorrencia('55', '26', 400).must_equal 'A230' } # Título já com opção de Devolução
|
247
|
+
it { subject.get_codigo_motivo_ocorrencia('56', '30', 400).must_equal 'A231' } # Processo de Protesto em andamento
|
248
|
+
it { subject.get_codigo_motivo_ocorrencia('57', '26', 400).must_equal 'A232' } # Título já com opção de Protesto
|
249
|
+
it { subject.get_codigo_motivo_ocorrencia('58', '03', 400).must_equal 'A233' } # Processo de devolução em andamento
|
250
|
+
it { subject.get_codigo_motivo_ocorrencia('59', '30', 400).must_equal 'A234' } # Novo prazo p/ Protesto/Devolução inválido
|
251
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '02', 400).must_equal 'A235' } # Alteração do prazo de protesto inválida
|
252
|
+
it { subject.get_codigo_motivo_ocorrencia('77', '03', 400).must_equal 'A236' } # Alteração do prazo de devolução inválida
|
253
|
+
it { subject.get_codigo_motivo_ocorrencia('81', '26', 400).must_equal 'A237' } # CEP do Pagador inválido
|
254
|
+
it { subject.get_codigo_motivo_ocorrencia('82', '02', 400).must_equal 'A238' } # CNPJ/CPF do Pagador inválido (dígito não confere)
|
255
|
+
it { subject.get_codigo_motivo_ocorrencia('83', '30', 400).must_equal 'A86' } # Número do Documento (seu número) inválido
|
256
|
+
it { subject.get_codigo_motivo_ocorrencia('84', '02', 400).must_equal 'A239' } # Protesto inválido para título sem Número do documento (seu número)
|
257
|
+
|
258
|
+
end
|
259
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência C para CNAB 400" do
|
260
|
+
it { subject.get_codigo_motivo_ocorrencia('002', '06', 400).must_equal 'C100' } # Unidade Lotérica
|
261
|
+
it { subject.get_codigo_motivo_ocorrencia('003', '09', 400).must_equal 'C101' } # Agências CAIXA
|
262
|
+
it { subject.get_codigo_motivo_ocorrencia('004', '101', 400).must_equal 'C04' } # Compensação Eletrônica
|
263
|
+
it { subject.get_codigo_motivo_ocorrencia('006', '151', 400).must_equal 'C06' } # Internet Banking
|
264
|
+
it { subject.get_codigo_motivo_ocorrencia('007', '152', 400).must_equal 'C102' } # Correspondente CAIXA aqui
|
265
|
+
it { subject.get_codigo_motivo_ocorrencia('008', '06', 400).must_equal 'C08' } # Em Cartório
|
266
|
+
it { subject.get_codigo_motivo_ocorrencia('009', '09', 400).must_equal 'C09' } # Comandada Banco
|
267
|
+
it { subject.get_codigo_motivo_ocorrencia('010', '101', 400).must_equal 'C10' } # Comandada Cliente via Arquivo
|
268
|
+
it { subject.get_codigo_motivo_ocorrencia('011', '151', 400).must_equal 'C11' } # Comandada Cliente On-line
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
272
|
+
describe "#get_codigo_movimento_retorno" do
|
273
|
+
context "CÓDIGOS para o cnab 400 da Caixa" do
|
274
|
+
it { subject.get_codigo_movimento_retorno('01', 400).must_equal '02' } # Entrada Confirmada
|
275
|
+
it { subject.get_codigo_movimento_retorno('02', 400).must_equal '09' } # Baixa Manual Confirmada
|
276
|
+
it { subject.get_codigo_movimento_retorno('03', 400).must_equal '12' } # Abatimento Concedido
|
277
|
+
it { subject.get_codigo_movimento_retorno('04', 400).must_equal '13' } # Abatimento Cancelado
|
278
|
+
it { subject.get_codigo_movimento_retorno('05', 400).must_equal '14' } # Vencimento Alterado
|
279
|
+
it { subject.get_codigo_movimento_retorno('06', 400).must_equal '146' } # Uso da Empresa Alterado
|
280
|
+
it { subject.get_codigo_movimento_retorno('08', 400).must_equal '147' } # Prazo de Devolução Alterado
|
281
|
+
it { subject.get_codigo_movimento_retorno('09', 400).must_equal '27' } # Alteração Confirmada
|
282
|
+
it { subject.get_codigo_movimento_retorno('10', 400).must_equal '148' } # Alteração com reemissão de Boleto Confirmada
|
283
|
+
it { subject.get_codigo_movimento_retorno('11', 400).must_equal '149' } # Alteração da opção de Protesto para Devolução Confirmada
|
284
|
+
it { subject.get_codigo_movimento_retorno('12', 400).must_equal '150' } # Alteração da opção de Devolução para Protesto Confirmada
|
285
|
+
it { subject.get_codigo_movimento_retorno('20', 400).must_equal '11' } # Em Ser
|
286
|
+
it { subject.get_codigo_movimento_retorno('21', 400).must_equal '06' } # Liquidação
|
287
|
+
it { subject.get_codigo_movimento_retorno('22', 400).must_equal '101' } # Liquidação em Cartório
|
288
|
+
it { subject.get_codigo_movimento_retorno('23', 400).must_equal '151' } # Baixa por Devolução
|
289
|
+
it { subject.get_codigo_movimento_retorno('25', 400).must_equal '152' } # Baixa por Protesto
|
290
|
+
it { subject.get_codigo_movimento_retorno('26', 400).must_equal '23' } # Título enviado para Cartório
|
291
|
+
it { subject.get_codigo_movimento_retorno('27', 400).must_equal '20' } # Sustação de Protesto
|
292
|
+
it { subject.get_codigo_movimento_retorno('28', 400).must_equal '153' } # Estorno de Protesto
|
293
|
+
it { subject.get_codigo_movimento_retorno('29', 400).must_equal '154' } # Estorno de Sustação de Protesto
|
294
|
+
it { subject.get_codigo_movimento_retorno('30', 400).must_equal '61' } # Alteração de Título
|
295
|
+
it { subject.get_codigo_movimento_retorno('31', 400).must_equal '108' } # Tarifa sobre Título Vencido
|
296
|
+
it { subject.get_codigo_movimento_retorno('32', 400).must_equal '155' } # Outras Tarifas de Alteração
|
297
|
+
it { subject.get_codigo_movimento_retorno('33', 400).must_equal '144' } # Estorno de Baixa / Liquidação
|
298
|
+
it { subject.get_codigo_movimento_retorno('34', 400).must_equal '156' } # Tarifas Diversas
|
299
|
+
end
|
300
|
+
end
|
301
|
+
|
302
|
+
describe "#get_codigo_protesto" do
|
303
|
+
context "CÓDIGOS para o Caixa" do
|
304
|
+
it { subject.get_codigo_protesto('3', 400).must_equal '2' } # Devolver (Não Protestar)
|
305
|
+
end
|
306
|
+
end
|
307
|
+
|
308
|
+
describe "#get_codigo_moeda" do
|
309
|
+
context "CÓDIGOS para o Caixa" do
|
310
|
+
it { subject.get_codigo_moeda('09', 400).must_equal '1' } # Real
|
311
|
+
end
|
312
|
+
end
|
155
313
|
end
|
@@ -116,4 +116,26 @@ describe BrBoleto::Conta::Cecred do
|
|
116
116
|
subject.conta_corrente_dv.must_equal 5
|
117
117
|
end
|
118
118
|
end
|
119
|
+
|
120
|
+
describe "#get_codigo_movimento_retorno" do
|
121
|
+
context "CÓDIGOS para o Cecred" do
|
122
|
+
it { subject.get_codigo_movimento_retorno('76', 240).must_equal '76' } # Liquidação de boleto cooperativa emite e expede
|
123
|
+
it { subject.get_codigo_movimento_retorno('77', 240).must_equal '77' } # Liquidação de boleto após baixa ou não registrado cooperativa emite e expede
|
124
|
+
it { subject.get_codigo_movimento_retorno('91', 240).must_equal '91' } # Título em aberto não enviado ao pagador
|
125
|
+
it { subject.get_codigo_movimento_retorno('92', 240).must_equal '92' } # Inconsistência Negativação Serasa
|
126
|
+
it { subject.get_codigo_movimento_retorno('93', 240).must_equal '93' } # Inclusão Negativação via Serasa
|
127
|
+
it { subject.get_codigo_movimento_retorno('94', 240).must_equal '94' } # Exclusão Negativação Serasa
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
describe "#get_codigo_motivo_ocorrencia" do
|
132
|
+
context "CÓDIGOS para o Cecred CNAB 240" do
|
133
|
+
it { subject.get_codigo_motivo_ocorrencia('P1', '91', 240).must_equal 'A114' } # Enviado Cooperativa Emite e Expede
|
134
|
+
it { subject.get_codigo_motivo_ocorrencia('S1', '93', 240).must_equal 'D02' } # Sempre que a solicitação (inclusão ou exclusão) for efetuada com sucesso
|
135
|
+
it { subject.get_codigo_motivo_ocorrencia('S2', '94', 240).must_equal 'D03' } # Sempre que a solicitação for integrada na Serasa com sucesso
|
136
|
+
it { subject.get_codigo_motivo_ocorrencia('S3', '94', 240).must_equal 'D04' } # Sempre que vier retorno da Serasa por decurso de prazo
|
137
|
+
it { subject.get_codigo_motivo_ocorrencia('S4', '93', 240).must_equal 'D05' } # Sempre que o documento for integrado na Serasa com sucesso, quando o UF for de São Paulo
|
138
|
+
it { subject.get_codigo_motivo_ocorrencia('S5', '93', 240).must_equal 'D06' } # Sempre quando houver ação judicial, restringindo a negativação do boleto.
|
139
|
+
end
|
140
|
+
end
|
119
141
|
end
|
@@ -75,7 +75,7 @@ describe BrBoleto::Conta::Itau do
|
|
75
75
|
|
76
76
|
describe "#nome_banco" do
|
77
77
|
it "valor padrão para o nome_banco" do
|
78
|
-
subject.nome_banco.must_equal 'ITAU'
|
78
|
+
subject.nome_banco.must_equal 'BANCO ITAU SA'
|
79
79
|
end
|
80
80
|
it "deve ser possível mudar o valor do nome do banco" do
|
81
81
|
subject.nome_banco = 'MEU'
|
@@ -157,8 +157,8 @@ describe BrBoleto::Conta::Itau do
|
|
157
157
|
end
|
158
158
|
|
159
159
|
describe "#get_codigo_protesto" do
|
160
|
-
it { subject.get_codigo_protesto('0').must_equal '0' } # Sem instrução
|
161
|
-
it { subject.get_codigo_protesto('07').must_equal '07' } # Negativar (Dias Corridos)
|
160
|
+
it { subject.get_codigo_protesto('0', 240).must_equal '0' } # Sem instrução
|
161
|
+
it { subject.get_codigo_protesto('07', 240).must_equal '07' } # Negativar (Dias Corridos)
|
162
162
|
end
|
163
163
|
|
164
164
|
describe "#get_codigo_multa" do
|
@@ -186,4 +186,347 @@ describe BrBoleto::Conta::Itau do
|
|
186
186
|
subject.get_codigo_carteira.must_equal 'I' # DEMAIS CARTEIRAS
|
187
187
|
end
|
188
188
|
end
|
189
|
+
|
190
|
+
|
191
|
+
describe "#get_codigo_movimento_retorno" do
|
192
|
+
context "CÓDIGOS para o Itau" do
|
193
|
+
it { subject.get_codigo_movimento_retorno('08', 240).must_equal '101' } # LIQUIDAÇÃO EM CARTÓRIO
|
194
|
+
it { subject.get_codigo_movimento_retorno('10', 240).must_equal '210' } # BAIXA POR TER SIDO LIQUIDADO
|
195
|
+
it { subject.get_codigo_movimento_retorno('15', 240).must_equal '100' } # BAIXAS REJEITADAS
|
196
|
+
it { subject.get_codigo_movimento_retorno('16', 240).must_equal '26' } # INSTRUÇÕES REJEITADAS
|
197
|
+
it { subject.get_codigo_movimento_retorno('17', 240).must_equal '30' } # ALTERAÇÃO/EXCLUSÃO DE DADOS REJEITADA
|
198
|
+
it { subject.get_codigo_movimento_retorno('18', 240).must_equal '218' } # COBRANÇA CONTRATUAL – INSTRUÇÕES/ALTERAÇÕES REJEITADAS/PENDENTES
|
199
|
+
it { subject.get_codigo_movimento_retorno('21', 240).must_equal '221' } # CONFIRMAÇÃO RECEBIMENTO DE INSTRUÇÃO DE NÃO PROTESTAR
|
200
|
+
it { subject.get_codigo_movimento_retorno('25', 240).must_equal '225' } # ALEGAÇÕES DO PAGADOR
|
201
|
+
it { subject.get_codigo_movimento_retorno('26', 240).must_equal '226' } # TARIFA DE AVISO DE COBRANÇA
|
202
|
+
it { subject.get_codigo_movimento_retorno('27', 240).must_equal '227' } # TARIFA DE EXTRATO POSIÇÃO (B40X)
|
203
|
+
it { subject.get_codigo_movimento_retorno('28', 240).must_equal '228' } # TARIFA DE RELAÇÃO DAS LIQUIDAÇÕES
|
204
|
+
it { subject.get_codigo_movimento_retorno('29', 240).must_equal '107' } # TARIFA DE MANUTENÇÃO DE TÍTULOS VENCIDOS
|
205
|
+
it { subject.get_codigo_movimento_retorno('30', 240).must_equal '28' } # DÉBITO MENSAL DE TARIFAS (PARA ENTRADAS E BAIXAS)
|
206
|
+
it { subject.get_codigo_movimento_retorno('32', 240).must_equal '25' } # BAIXA POR TER SIDO PROTESTADO
|
207
|
+
it { subject.get_codigo_movimento_retorno('33', 240).must_equal '233' } # CUSTAS DE PROTESTO
|
208
|
+
it { subject.get_codigo_movimento_retorno('34', 240).must_equal '234' } # CUSTAS DE SUSTAÇÃO
|
209
|
+
it { subject.get_codigo_movimento_retorno('35', 240).must_equal '235' } # CUSTAS DE CARTÓRIO DISTRIBUIDOR
|
210
|
+
it { subject.get_codigo_movimento_retorno('36', 240).must_equal '236' } # CUSTAS DE EDITAL
|
211
|
+
it { subject.get_codigo_movimento_retorno('37', 240).must_equal '237' } # TARIFA DE EMISSÃO DE BOLETO/TARIFA DE ENVIO DE DUPLICATA
|
212
|
+
it { subject.get_codigo_movimento_retorno('38', 240).must_equal '238' } # TARIFA DE INSTRUÇÃO
|
213
|
+
it { subject.get_codigo_movimento_retorno('39', 240).must_equal '239' } # TARIFA DE OCORRÊNCIAS
|
214
|
+
it { subject.get_codigo_movimento_retorno('40', 240).must_equal '240' } # TARIFA MENSAL DE EMISSÃO DE BOLETO/TARIFA MENSAL DE ENVIO DE DUPLICATA
|
215
|
+
it { subject.get_codigo_movimento_retorno('41', 240).must_equal '241' } # DÉBITO MENSAL DE TARIFAS – EXTRATO DE POSIÇÃO (B4EP/B4OX)
|
216
|
+
it { subject.get_codigo_movimento_retorno('42', 240).must_equal '242' } # DÉBITO MENSAL DE TARIFAS – OUTRAS INSTRUÇÕES
|
217
|
+
it { subject.get_codigo_movimento_retorno('43', 240).must_equal '243' } # DÉBITO MENSAL DE TARIFAS – MANUTENÇÃO DE TÍTULOS VENCIDOS
|
218
|
+
it { subject.get_codigo_movimento_retorno('44', 240).must_equal '244' } # DÉBITO MENSAL DE TARIFAS – OUTRAS OCORRÊNCIAS
|
219
|
+
it { subject.get_codigo_movimento_retorno('45', 240).must_equal '245' } # DÉBITO MENSAL DE TARIFAS – PROTESTO
|
220
|
+
it { subject.get_codigo_movimento_retorno('46', 240).must_equal '246' } # DÉBITO MENSAL DE TARIFAS – SUSTAÇÃO DE PROTESTO
|
221
|
+
it { subject.get_codigo_movimento_retorno('47', 240).must_equal '247' } # BAIXA COM TRANSFERÊNCIA PARA DESCONTO
|
222
|
+
it { subject.get_codigo_movimento_retorno('48', 240).must_equal '248' } # CUSTAS DE SUSTAÇÃO JUDICIAL
|
223
|
+
it { subject.get_codigo_movimento_retorno('51', 240).must_equal '251' } # TARIFA MENSAL REFERENTE A ENTRADAS BANCOS CORRESPONDENTES NA CARTEIRA
|
224
|
+
it { subject.get_codigo_movimento_retorno('52', 240).must_equal '252' } # TARIFA MENSAL BAIXAS NA CARTEIRA
|
225
|
+
it { subject.get_codigo_movimento_retorno('53', 240).must_equal '253' } # TARIFA MENSAL BAIXAS EM BANCOS CORRESPONDENTES NA CARTEIRA
|
226
|
+
it { subject.get_codigo_movimento_retorno('54', 240).must_equal '254' } # TARIFA MENSAL DE LIQUIDAÇÕES NA CARTEIRA
|
227
|
+
it { subject.get_codigo_movimento_retorno('55', 240).must_equal '255' } # TARIFA MENSAL DE LIQUIDAÇÕES EM BANCOS CORRESPONDENTES NA CARTEIRA
|
228
|
+
it { subject.get_codigo_movimento_retorno('56', 240).must_equal '256' } # CUSTAS DE IRREGULARIDADE
|
229
|
+
it { subject.get_codigo_movimento_retorno('57', 240).must_equal '257' } # INSTRUÇÃO CANCELADA
|
230
|
+
it { subject.get_codigo_movimento_retorno('60', 240).must_equal '260' } # ENTRADA REJEITADA CARNÊ
|
231
|
+
it { subject.get_codigo_movimento_retorno('61', 240).must_equal '261' } # TARIFA EMISSÃO AVISO DE MOVIMENTAÇÃO DE TÍTULOS (2154)
|
232
|
+
it { subject.get_codigo_movimento_retorno('62', 240).must_equal '262' } # DÉBITO MENSAL DE TARIFA – AVISO DE MOVIMENTAÇÃO DE TÍTULOS (2154)
|
233
|
+
it { subject.get_codigo_movimento_retorno('63', 240).must_equal '63' } # TÍTULO SUSTADO JUDICIALMENTE
|
234
|
+
it { subject.get_codigo_movimento_retorno('74', 240).must_equal '274' } # INSTRUÇÃO DE NEGATIVAÇÃO EXPRESSA REJEITADA
|
235
|
+
it { subject.get_codigo_movimento_retorno('75', 240).must_equal '275' } # CONFIRMA O RECEBIMENTO DE INSTRUÇÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA
|
236
|
+
it { subject.get_codigo_movimento_retorno('77', 240).must_equal '277' } # CONFIRMA O RECEBIMENTO DE INSTRUÇÃO DE EXCLUSÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA
|
237
|
+
it { subject.get_codigo_movimento_retorno('78', 240).must_equal '278' } # CONFIRMA O RECEBIMENTO DE INSTRUÇÃO DE CANCELAMENTO DA NEGATIVAÇÃO EXPRESSA
|
238
|
+
it { subject.get_codigo_movimento_retorno('79', 240).must_equal '279' } # NEGATIVAÇÃO EXPRESSA INFORMACIONAL
|
239
|
+
it { subject.get_codigo_movimento_retorno('80', 240).must_equal '280' } # CONFIRMAÇÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA – TARIFA
|
240
|
+
it { subject.get_codigo_movimento_retorno('82', 240).must_equal '282' } # CONFIRMAÇÃO O CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA - TARIFA
|
241
|
+
it { subject.get_codigo_movimento_retorno('83', 240).must_equal '283' } # CONFIRMAÇÃO DA EXCLUSÃO/CANCELAMENTO DA NEGATIVAÇÃO EXPRESSA POR LIQUIDAÇÃO - TARIFA
|
242
|
+
it { subject.get_codigo_movimento_retorno('85', 240).must_equal '285' } # TARIFA POR BOLETO (ATÉ 03 ENVIOS) COBRANÇA ATIVA ELETRÔNICA
|
243
|
+
it { subject.get_codigo_movimento_retorno('86', 240).must_equal '286' } # TARIFA EMAIL COBRANÇA ATIVA ELETRÔNICA
|
244
|
+
it { subject.get_codigo_movimento_retorno('87', 240).must_equal '287' } # TARIFA SMS COBRANÇA ATIVA ELETRÔNICA
|
245
|
+
it { subject.get_codigo_movimento_retorno('88', 240).must_equal '288' } # TARIFA MENSAL POR BOLETO (ATÉ 03 ENVIOS) COBRANÇA ATIVA ELETRÔNICA
|
246
|
+
it { subject.get_codigo_movimento_retorno('89', 240).must_equal '289' } # TARIFA MENSAL EMAIL COBRANÇA ATIVA ELETRÔNICA
|
247
|
+
it { subject.get_codigo_movimento_retorno('90', 240).must_equal '290' } # TARIFA MENSAL SMS COBRANÇA ATIVA ELETRÔNICA
|
248
|
+
it { subject.get_codigo_movimento_retorno('91', 240).must_equal '291' } # TARIFA MENSAL DE EXCLUSÃO DE ENTRADA EM NEGATIVAÇÃO EXPRESSA
|
249
|
+
it { subject.get_codigo_movimento_retorno('92', 240).must_equal '292' } # TARIFA MENSAL DE CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA
|
250
|
+
it { subject.get_codigo_movimento_retorno('93', 240).must_equal '293' } # TARIFA MENSAL DE EXCLUSÃO/CANCELAMENTO DE NEGATIVAÇÃO EXPRESSA POR LIQUIDAÇÃO
|
251
|
+
it { subject.get_codigo_movimento_retorno('94', 240).must_equal '294' } # CONFIRMA RECEBIMENTO DE INSTRUÇÃO DE NÃO NEGATIVAR
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
|
256
|
+
describe "#get_codigo_motivo_ocorrencia" do
|
257
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 03 para CNAB 240" do
|
258
|
+
it { subject.get_codigo_motivo_ocorrencia('03', '03', 240).must_equal 'A49' } # CEP INVÁLIDO OU NÃO FOI POSSÍVEL ATRIBUIR A AGÊNCIA PELO CEP
|
259
|
+
it { subject.get_codigo_motivo_ocorrencia('04', '03', 240).must_equal 'A52' } # SIGLA DO ESTADO INVÁLIDA
|
260
|
+
it { subject.get_codigo_motivo_ocorrencia('08', '03', 240).must_equal 'A45' } # NÃO INFORMADO OU DESLOCADO
|
261
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '03', 240).must_equal 'A07' } # AGÊNCIA ENCERRADA
|
262
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '03', 240).must_equal 'A47' } # NÃO INFORMADO OU DESLOCADO
|
263
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '03', 240).must_equal 'A49' } # CEP NÃO NUMÉRICO
|
264
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '03', 240).must_equal 'A54' } # NOME NÃO INFORMADO OU DESLOCADO (BANCOS CORRESPONDENTES)
|
265
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '03', 240).must_equal 'A51' } # CEP INCOMPATÍVEL COM A SIGLA DO ESTADO
|
266
|
+
it { subject.get_codigo_motivo_ocorrencia('14', '03', 240).must_equal 'A08' } # NOSSO NÚMERO JÁ REGISTRADO NO CADASTRO DO BANCO OU FORA DA FAIXA
|
267
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '03', 240).must_equal 'A09' } # NOSSO NÚMERO EM DUPLICIDADE NO MESMO MOVIMENTO
|
268
|
+
it { subject.get_codigo_motivo_ocorrencia('35', '03', 240).must_equal 'A32' } # IOF MAIOR QUE 5%
|
269
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '03', 240).must_equal 'A08' } # NOSSO NÚMERO FORA DE FAIXA
|
270
|
+
it { subject.get_codigo_motivo_ocorrencia('60', '03', 240).must_equal 'A33' } # VALOR DO ABATIMENTO INVÁLIDO
|
271
|
+
it { subject.get_codigo_motivo_ocorrencia('62', '03', 240).must_equal 'A29' } # VALOR DO DESCONTO MAIOR QUE O VALOR DO TÍTULO
|
272
|
+
it { subject.get_codigo_motivo_ocorrencia('64', '03', 240).must_equal 'A24' } # DATA DE EMISSÃO DO TÍTULO INVÁLIDA (VENDOR)
|
273
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '03', 240).must_equal 'A74' } # INVALIDA/FORA DE PRAZO DE OPERAÇÃO (MÍNIMO OU MÁXIMO)
|
274
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '03', 240).must_equal 'A20' } # VALOR DO TÍTULO/QUANTIDADE DE MOEDA INVÁLIDO
|
275
|
+
it { subject.get_codigo_motivo_ocorrencia('68', '03', 240).must_equal 'A10' } # CARTEIRA INVÁLIDA OU NÃO CADASTRADA NO INTERCÂMBIO DA COBRANÇA
|
276
|
+
end
|
277
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 26 para CNAB 240" do
|
278
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '26', 240).must_equal 'A53' } # CNPJ/CPF DO SACADOR/AVALISTA INVÁLIDO
|
279
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '26', 240).must_equal 'A54' } # CNPJ/CPF INFORMADO SEM NOME DO SACADOR/AVALISTA
|
280
|
+
it { subject.get_codigo_motivo_ocorrencia('19', '26', 240).must_equal 'A34' } # VALOR DO ABATIMENTO MAIOR QUE 90% DO VALOR DO TÍTULO
|
281
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '26', 240).must_equal 'A41' } # EXISTE SUSTACAO DE PROTESTO PENDENTE PARA O TITULO
|
282
|
+
it { subject.get_codigo_motivo_ocorrencia('22', '26', 240).must_equal 'A106' } # TÍTULO BAIXADO OU LIQUIDADO
|
283
|
+
it { subject.get_codigo_motivo_ocorrencia('50', '26', 240).must_equal 'A24' } # DATA DE EMISSÃO DO TÍTULO INVÁLIDA
|
284
|
+
end
|
285
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 30 para CNAB 240" do
|
286
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '30', 240).must_equal 'A48' } # CEP INVÁLIDO
|
287
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '30', 240).must_equal 'A53' } # NÚMERO INSCRIÇÃO INVÁLIDO DO SACADOR AVALISTA
|
288
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '30', 240).must_equal 'A86' } # SEU NÚMERO COM O MESMO CONTEÚDO
|
289
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '30', 240).must_equal 'A317' } # NOME INVÁLIDO DO SACADOR AVALISTA
|
290
|
+
it { subject.get_codigo_motivo_ocorrencia('72', '30', 240).must_equal 'A318' } # ENDEREÇO INVÁLIDO – SACADOR AVALISTA
|
291
|
+
it { subject.get_codigo_motivo_ocorrencia('73', '30', 240).must_equal 'A319' } # BAIRRO INVÁLIDO – SACADOR AVALISTA
|
292
|
+
it { subject.get_codigo_motivo_ocorrencia('74', '30', 240).must_equal 'A320' } # CIDADE INVÁLIDA – SACADOR AVALISTA
|
293
|
+
it { subject.get_codigo_motivo_ocorrencia('75', '30', 240).must_equal 'A321' } # SIGLA ESTADO INVÁLIDO – SACADOR AVALISTA
|
294
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '30', 240).must_equal 'A322' } # CEP INVÁLIDO – SACADOR AVALISTA
|
295
|
+
end
|
296
|
+
|
297
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência C" do
|
298
|
+
it { subject.get_codigo_motivo_ocorrencia('AA', '06', 240).must_equal 'C32' } # CAIXA ELETRÔNICO ITAÚ
|
299
|
+
it { subject.get_codigo_motivo_ocorrencia('AC', '09', 240).must_equal 'C08' } # PAGAMENTO EM CARTÓRIO AUTOMATIZADO
|
300
|
+
it { subject.get_codigo_motivo_ocorrencia('AO', '17', 240).must_equal 'C135' } # ACERTO ONLINE
|
301
|
+
it { subject.get_codigo_motivo_ocorrencia('BC', '06', 240).must_equal 'C31' } # BANCOS CORRESPONDENTES
|
302
|
+
it { subject.get_codigo_motivo_ocorrencia('BF', '09', 240).must_equal 'C37' } # ITAÚ BANKFONE
|
303
|
+
it { subject.get_codigo_motivo_ocorrencia('BL', '17', 240).must_equal 'C33' } # ITAÚ BANKLINE
|
304
|
+
it { subject.get_codigo_motivo_ocorrencia('B0', '06', 240).must_equal 'C136' } # OUTROS BANCOS – RECEBIMENTO OFF-LINE
|
305
|
+
it { subject.get_codigo_motivo_ocorrencia('B1', '09', 240).must_equal 'C137' } # OUTROS BANCOS – PELO CÓDIGO DE BARRAS
|
306
|
+
it { subject.get_codigo_motivo_ocorrencia('B2', '17', 240).must_equal 'C138' } # OUTROS BANCOS – PELA LINHA DIGITÁVEL
|
307
|
+
it { subject.get_codigo_motivo_ocorrencia('B3', '06', 240).must_equal 'C139' } # OUTROS BANCOS – PELO AUTO ATENDIMENTO
|
308
|
+
it { subject.get_codigo_motivo_ocorrencia('B4', '09', 240).must_equal 'C140' } # OUTROS BANCOS – RECEBIMENTO EM CASA LOTÉRICA
|
309
|
+
it { subject.get_codigo_motivo_ocorrencia('B5', '17', 240).must_equal 'C141' } # OUTROS BANCOS – CORRESPONDENTE
|
310
|
+
it { subject.get_codigo_motivo_ocorrencia('B6', '06', 240).must_equal 'C142' } # OUTROS BANCOS – TELEFONE
|
311
|
+
it { subject.get_codigo_motivo_ocorrencia('B7', '09', 240).must_equal 'C143' } # OUTROS BANCOS – ARQUIVO ELETRÔNICO (PAGAMENTO EFETUADO POR MEIO DE TROCA DE ARQUIVOS)
|
312
|
+
it { subject.get_codigo_motivo_ocorrencia('CC', '17', 240).must_equal 'C36' } # AGÊNCIA ITAÚ – COM CHEQUE DE OUTRO BANCO ou (CHEQUE ITAÚ)
|
313
|
+
it { subject.get_codigo_motivo_ocorrencia('CI', '06', 240).must_equal 'C144' } # CORRESPONDENTE ITAÚ
|
314
|
+
it { subject.get_codigo_motivo_ocorrencia('CK', '09', 240).must_equal 'C145' } # SISPAG – SISTEMA DE CONTAS A PAGAR ITAÚ
|
315
|
+
it { subject.get_codigo_motivo_ocorrencia('CP', '17', 240).must_equal 'C146' } # AGÊNCIA ITAÚ – POR DÉBITO EM CONTA CORRENTE, CHEQUE ITAÚ* OU DINHEIRO
|
316
|
+
it { subject.get_codigo_motivo_ocorrencia('DG', '06', 240).must_equal 'C147' } # AGÊNCIA ITAÚ – CAPTURADO EM OFF-LINE
|
317
|
+
it { subject.get_codigo_motivo_ocorrencia('LC', '09', 240).must_equal 'C148' } # PAGAMENTO EM CARTÓRIO DE PROTESTO COM CHEQUE
|
318
|
+
it { subject.get_codigo_motivo_ocorrencia('EA', '17', 240).must_equal 'C03' } # TERMINAL DE CAIXA
|
319
|
+
it { subject.get_codigo_motivo_ocorrencia('Q0', '06', 240).must_equal 'C149' } # AGENDAMENTO – PAGAMENTO AGENDADO VIA BANKLINE OU OUTRO CANAL ELETRÔNICO E LIQUIDADO NA DATA INDICADA
|
320
|
+
it { subject.get_codigo_motivo_ocorrencia('RA', '09', 240).must_equal 'C150' } # DIGITAÇÃO – REALIMENTAÇÃO AUTOMÁTICA
|
321
|
+
it { subject.get_codigo_motivo_ocorrencia('ST', '17', 240).must_equal 'C151' } # PAGAMENTO VIA SELTEC
|
322
|
+
end
|
323
|
+
|
324
|
+
|
325
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 02 para CNAB 400" do
|
326
|
+
it { subject.get_codigo_motivo_ocorrencia('01', '02', 400).must_equal 'A240' } # CEP SEM ATENDIMENTO DE PROTESTO NO MOMENTO
|
327
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '02', 400).must_equal 'A241' } # ESTADO COM DETERMINAÇÃO LEGAL QUE IMPEDE A INSCRIÇÃO DE INADIMPLENTES
|
328
|
+
end
|
329
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 03 para CNAB 400" do
|
330
|
+
it { subject.get_codigo_motivo_ocorrencia('03', '03', 400).must_equal 'A240' } # CEP SEM ATENDIMENTO DE PROTESTO NO MOMENTO
|
331
|
+
it { subject.get_codigo_motivo_ocorrencia('04', '03', 400).must_equal 'A52' } # SIGLA DO ESTADO INVÁLIDA
|
332
|
+
it { subject.get_codigo_motivo_ocorrencia('05', '03', 400).must_equal 'A241' } # DATA VENCIMENTO COM PRAZO DA OPERAÇÃO MENOR QUE PRAZO MÍNIMO OU MAIOR QUE O MÁXIMO
|
333
|
+
it { subject.get_codigo_motivo_ocorrencia('07', '03', 400).must_equal 'A242' } # VALOR DO TÍTULO MAIOR QUE 10.000.000,00
|
334
|
+
it { subject.get_codigo_motivo_ocorrencia('08', '03', 400).must_equal 'A45' } # OME DO PAGADOR NÃO INFORMADO OU DESLOCADO
|
335
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '03', 400).must_equal 'A17' } # AGÊNCIA ENCERRADA
|
336
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '03', 400).must_equal 'A47' } # LOGRADOURO NÃO INFORMADO OU DESLOCADO
|
337
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '03', 400).must_equal 'A49' } # CEP NÃO NUMÉRICO OU CEP INVÁLIDO
|
338
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '03', 400).must_equal 'A54' } # SACADOR / AVALISTA NOME NÃO INFORMADO OU DESLOCADO (BANCOS CORRESPONDENTES)
|
339
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '03', 400).must_equal 'A51' } # CEP INCOMPATÍVEL COM A SIGLA DO ESTADO
|
340
|
+
it { subject.get_codigo_motivo_ocorrencia('14', '03', 400).must_equal 'A08' } # NOSSO NÚMERO JÁ REGISTRADO NO CADASTRO DO BANCO OU FORA DA FAIXA
|
341
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '03', 400).must_equal 'A09' } # NOSSO NÚMERO EM DUPLICIDADE NO MESMO MOVIMENTO
|
342
|
+
it { subject.get_codigo_motivo_ocorrencia('18', '03', 400).must_equal 'A243' } # DATA DE ENTRADA INVÁLIDA PARA OPERAR COM ESTA CARTEIRA
|
343
|
+
it { subject.get_codigo_motivo_ocorrencia('19', '03', 400).must_equal 'A244' } # OCORRÊNCIA INVÁLIDA
|
344
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '03', 400).must_equal 'A245' } # CARTEIRA NÃO ACEITA DEPOSITÁRIA CORRESPONDENTE ESTADO DA AGÊNCIA DIFERENTE DO ESTADO DO PAGADOR AG. COBRADORA NÃO CONSTA NO CADASTRO OU ENCERRANDO
|
345
|
+
it { subject.get_codigo_motivo_ocorrencia('22', '03', 400).must_equal 'A246' } # CARTEIRA NÃO PERMITIDA (NECESSÁRIO CADASTRAR FAIXA LIVRE)
|
346
|
+
it { subject.get_codigo_motivo_ocorrencia('26', '03', 400).must_equal 'A247' } # AGÊNCIA/CONTA NÃO LIBERADA PARA OPERAR COM COBRANÇA
|
347
|
+
it { subject.get_codigo_motivo_ocorrencia('27', '03', 400).must_equal 'A248' } # CNPJ DO BENEFICIÁRIO INAPTO DEVOLUÇÃO DE TÍTULO EM GARANTIA
|
348
|
+
it { subject.get_codigo_motivo_ocorrencia('29', '03', 400).must_equal 'A249' } # CATEGORIA DA CONTA INVÁLIDA
|
349
|
+
it { subject.get_codigo_motivo_ocorrencia('30', '03', 400).must_equal 'A250' } # ENTRADAS BLOQUEADAS, CONTA SUSPENSA EM COBRANÇA
|
350
|
+
it { subject.get_codigo_motivo_ocorrencia('31', '03', 400).must_equal 'A251' } # CONTA NÃO TEM PERMISSÃO PARA PROTESTAR (CONTATE SEU GERENTE)
|
351
|
+
it { subject.get_codigo_motivo_ocorrencia('35', '03', 400).must_equal 'A32' } # IOF MAIOR QUE 5%
|
352
|
+
it { subject.get_codigo_motivo_ocorrencia('36', '03', 400).must_equal 'A252' } # QUANTIDADE DE MOEDA INCOMPATÍVEL COM VALOR DO TÍTULO
|
353
|
+
it { subject.get_codigo_motivo_ocorrencia('37', '03', 400).must_equal 'A253' } # CNPJ/CPF DO PAGADOR NÃO NUMÉRICO OU IGUAL A ZEROS
|
354
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '03', 400).must_equal 'A08' } # NOSSO NÚMERO FORA DE FAIXA
|
355
|
+
it { subject.get_codigo_motivo_ocorrencia('52', '03', 400).must_equal 'A254' } # EMPRESA NÃO ACEITA BANCO CORRESPONDENTE
|
356
|
+
it { subject.get_codigo_motivo_ocorrencia('53', '03', 400).must_equal 'A255' } # EMPRESA NÃO ACEITA BANCO CORRESPONDENTE - COBRANÇA MENSAGEM
|
357
|
+
it { subject.get_codigo_motivo_ocorrencia('54', '03', 400).must_equal 'A256' } # BANCO CORRESPONDENTE - TÍTULO COM VENCIMENTO INFERIOR A 15 DIAS
|
358
|
+
it { subject.get_codigo_motivo_ocorrencia('55', '03', 400).must_equal 'A257' } # CEP NÃO PERTENCE À DEPOSITÁRIA INFORMADA
|
359
|
+
it { subject.get_codigo_motivo_ocorrencia('56', '03', 400).must_equal 'A258' } # CORRESP VENCTO SUPERIOR A 180 DIAS DA DATA DE ENTRADA
|
360
|
+
it { subject.get_codigo_motivo_ocorrencia('57', '03', 400).must_equal 'A259' } # CEP SÓ DEPOSITÁRIA BCO DO BRASIL COM VENCTO INFERIOR A 8 DIAS
|
361
|
+
it { subject.get_codigo_motivo_ocorrencia('60', '03', 400).must_equal 'A33' } # VALOR DO ABATIMENTO INVÁLIDO
|
362
|
+
it { subject.get_codigo_motivo_ocorrencia('61', '03', 400).must_equal 'A260' } # JUROS DE MORA MAIOR QUE O PERMITIDO
|
363
|
+
it { subject.get_codigo_motivo_ocorrencia('62', '03', 400).must_equal 'A29' } # VALOR DO DESCONTO MAIOR QUE VALOR DO TÍTULO
|
364
|
+
it { subject.get_codigo_motivo_ocorrencia('63', '03', 400).must_equal 'A261' } # DESCONTO DE ANTECIPAÇÃO, VALOR DA IMPORTÂNCIA POR DIA DE DESCONTO (IDD) NÃO PERMITIDO
|
365
|
+
it { subject.get_codigo_motivo_ocorrencia('64', '03', 400).must_equal 'A24' } # DATA DE EMISSÃO DO TÍTULO INVÁLIDA
|
366
|
+
it { subject.get_codigo_motivo_ocorrencia('65', '03', 400).must_equal 'A262' } # TAXA INVÁLIDA (VENDOR)
|
367
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '03', 400).must_equal 'A74' } # INVALIDA/FORA DE PRAZO DE OPERAÇÃO (MÍNIMO OU MÁXIMO)
|
368
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '03', 400).must_equal 'A20' } # VALOR DO TÍTULO/QUANTIDADE DE MOEDA INVÁLIDO
|
369
|
+
it { subject.get_codigo_motivo_ocorrencia('68', '03', 400).must_equal 'A10' } # CARTEIRA INVÁLIDA OU NÃO CADASTRADA NO INTERCÂMBIO DA COBRANÇA
|
370
|
+
it { subject.get_codigo_motivo_ocorrencia('69', '03', 400).must_equal 'A263' } # CARTEIRA INVÁLIDA PARA TÍTULOS COM RATEIO DE CRÉDITO
|
371
|
+
it { subject.get_codigo_motivo_ocorrencia('70', '03', 400).must_equal 'A264' } # BENEFICIÁRIO NÃO CADASTRADO PARA FAZER RATEIO DE CRÉDITO
|
372
|
+
it { subject.get_codigo_motivo_ocorrencia('78', '03', 400).must_equal 'A265' } # DUPLICIDADE DE AGÊNCIA/CONTA BENEFICIÁRIA DO RATEIO DE CRÉDITO
|
373
|
+
it { subject.get_codigo_motivo_ocorrencia('80', '03', 400).must_equal 'A266' } # QUANTIDADE DE CONTAS BENEFICIÁRIAS DO RATEIO MAIOR DO QUE O PERMITIDO (MÁXIMO DE 30 CONTAS POR TÍTULO)
|
374
|
+
it { subject.get_codigo_motivo_ocorrencia('81', '03', 400).must_equal 'A267' } # CONTA PARA RATEIO DE CRÉDITO INVÁLIDA / NÃO PERTENCE AO ITAÚ
|
375
|
+
it { subject.get_codigo_motivo_ocorrencia('82', '03', 400).must_equal 'A268' } # DESCONTO/ABATIMENTO NÃO PERMITIDO PARA TÍTULOS COM RATEIO DE CRÉDITO
|
376
|
+
it { subject.get_codigo_motivo_ocorrencia('83', '03', 400).must_equal 'A269' } # VALOR DO TÍTULO MENOR QUE A SOMA DOS VALORES ESTIPULADOS PARA RATEIO
|
377
|
+
it { subject.get_codigo_motivo_ocorrencia('84', '03', 400).must_equal 'A270' } # AGÊNCIA/CONTA BENEFICIÁRIA DO RATEIO É A CENTRALIZADORA DE CRÉDITO DO BENEFICIÁRIO
|
378
|
+
it { subject.get_codigo_motivo_ocorrencia('85', '03', 400).must_equal 'A271' } # AGÊNCIA/CONTA DO BENEFICIÁRIO É CONTRATUAL / RATEIO DE CRÉDITO NÃO PERMITIDO
|
379
|
+
it { subject.get_codigo_motivo_ocorrencia('86', '03', 400).must_equal 'A272' } # CÓDIGO DO TIPO DE VALOR INVÁLIDO / NÃO PREVISTO PARA TÍTULOS COM RATEIO DE CRÉDITO
|
380
|
+
it { subject.get_codigo_motivo_ocorrencia('87', '03', 400).must_equal 'A273' } # REGISTRO TIPO 4 SEM INFORMAÇÃO DE AGÊNCIAS/CONTAS BENEFICIÁRIAS DO RATEIO
|
381
|
+
it { subject.get_codigo_motivo_ocorrencia('90', '03', 400).must_equal 'A274' } # COBRANÇA MENSAGEM - NÚMERO DA LINHA DA MENSAGEM INVÁLIDO OU QUANTIDADE DE LINHAS EXCEDIDAS
|
382
|
+
it { subject.get_codigo_motivo_ocorrencia('97', '03', 400).must_equal 'A275' } # COBRANÇA MENSAGEM SEM MENSAGEM (SÓ DE CAMPOS FIXOS), PORÉM COM REGISTRO DO TIPO 7 OU 8
|
383
|
+
it { subject.get_codigo_motivo_ocorrencia('98', '03', 400).must_equal 'A276' } # REGISTRO MENSAGEM SEM FLASH CADASTRADO OU FLASH INFORMADO DIFERENTE DO CADASTRADO
|
384
|
+
it { subject.get_codigo_motivo_ocorrencia('99', '03', 400).must_equal 'A277' } # CONTA DE COBRANÇA COM FLASH CADASTRADO E SEM REGISTRO DE MENSAGEM CORRESPONDENTE
|
385
|
+
|
386
|
+
end
|
387
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 26 para CNAB 400" do
|
388
|
+
it { subject.get_codigo_motivo_ocorrencia('01', '26', 400).must_equal 'A278' } # INSTRUÇÃO/OCORRÊNCIA NÃO EXISTENTE
|
389
|
+
it { subject.get_codigo_motivo_ocorrencia('03', '26', 400).must_equal 'A251' } # CONTA NÃO TEM PERMISSÃO PARA PROTESTAR (CONTATE SEU GERENTE)
|
390
|
+
it { subject.get_codigo_motivo_ocorrencia('06', '26', 400).must_equal 'A279' } # NOSSO NÚMERO IGUAL A ZEROS
|
391
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '26', 400).must_equal 'A53' } # CNPJ/CPF DO SACADOR/AVALISTA INVÁLIDO
|
392
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '26', 400).must_equal 'A34' } # VALOR DO ABATIMENTO IGUAL OU MAIOR QUE O VALOR DO TÍTULO
|
393
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '26', 400).must_equal 'A280' } # SEGUNDA INSTRUÇÃO/OCORRÊNCIA NÃO EXISTENTE
|
394
|
+
it { subject.get_codigo_motivo_ocorrencia('14', '26', 400).must_equal 'A281' } # REGISTRO EM DUPLICIDADE
|
395
|
+
it { subject.get_codigo_motivo_ocorrencia('15', '26', 400).must_equal 'A54' } # CNPJ/CPF INFORMADO SEM NOME DO SACADOR/AVALISTA
|
396
|
+
it { subject.get_codigo_motivo_ocorrencia('19', '26', 400).must_equal 'A34' } # VALOR DO ABATIMENTO MAIOR QUE 90% DO VALOR DO TÍTULO
|
397
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '26', 400).must_equal 'A41' } # EXISTE SUSTACAO DE PROTESTO PENDENTE PARA O TITULO
|
398
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '26', 400).must_equal 'A282' } # TÍTULO NÃO REGISTRADO NO SISTEMA
|
399
|
+
it { subject.get_codigo_motivo_ocorrencia('22', '26', 400).must_equal 'A106' } # TÍTULO BAIXADO OU LIQUIDADO
|
400
|
+
it { subject.get_codigo_motivo_ocorrencia('23', '26', 400).must_equal 'A283' } # INSTRUÇÃO NÃO ACEITA
|
401
|
+
it { subject.get_codigo_motivo_ocorrencia('24', '26', 400).must_equal 'A284' } # INSTRUÇÃO INCOMPATÍVEL – EXISTE INSTRUÇÃO DE PROTESTO PARA O TÍTULO
|
402
|
+
it { subject.get_codigo_motivo_ocorrencia('25', '26', 400).must_equal 'A285' } # INSTRUÇÃO INCOMPATÍVEL – NÃO EXISTE INSTRUÇÃO DE PROTESTO PARA O TÍTULO
|
403
|
+
it { subject.get_codigo_motivo_ocorrencia('26', '26', 400).must_equal 'A286' } # INSTRUÇÃO NÃO ACEITA POR JÁ TER SIDO EMITIDA A ORDEM DE PROTESTO AO CARTÓRIO
|
404
|
+
it { subject.get_codigo_motivo_ocorrencia('27', '26', 400).must_equal 'A287' } # INSTRUÇÃO NÃO ACEITA POR NÃO TER SIDO EMITIDA A ORDEM DE PROTESTO AO CARTÓRIO
|
405
|
+
it { subject.get_codigo_motivo_ocorrencia('28', '26', 400).must_equal 'A288' } # JÁ EXISTE UMA MESMA INSTRUÇÃO CADASTRADA ANTERIORMENTE PARA O TÍTULO
|
406
|
+
it { subject.get_codigo_motivo_ocorrencia('29', '26', 400).must_equal 'A289' } # VALOR LÍQUIDO + VALOR DO ABATIMENTO DIFERENTE DO VALOR DO TÍTULO REGISTRADO
|
407
|
+
it { subject.get_codigo_motivo_ocorrencia('30', '26', 400).must_equal 'A290' } # EXISTE UMA INSTRUÇÃO DE NÃO PROTESTAR ATIVA PARA O TÍTULO
|
408
|
+
it { subject.get_codigo_motivo_ocorrencia('31', '26', 400).must_equal 'A291' } # EXISTE UMA OCORRÊNCIA DO PAGADOR QUE BLOQUEIA A INSTRUÇÃO
|
409
|
+
it { subject.get_codigo_motivo_ocorrencia('32', '26', 400).must_equal 'A292' } # DEPOSITÁRIA DO TÍTULO = 9999 OU CARTEIRA NÃO ACEITA PROTESTO
|
410
|
+
it { subject.get_codigo_motivo_ocorrencia('33', '26', 400).must_equal 'A293' } # ALTERAÇÃO DE VENCIMENTO IGUAL À REGISTRADA NO SISTEMA OU QUE TORNA O TÍTULO VENCIDO
|
411
|
+
it { subject.get_codigo_motivo_ocorrencia('34', '26', 400).must_equal 'A294' } # INSTRUÇÃO DE EMISSÃO DE AVISO DE COBRANÇA PARA TÍTULO VENCIDO ANTES DO VENCIMENTO
|
412
|
+
it { subject.get_codigo_motivo_ocorrencia('35', '26', 400).must_equal 'A295' } # SOLICITAÇÃO DE CANCELAMENTO DE INSTRUÇÃO INEXISTENTE
|
413
|
+
it { subject.get_codigo_motivo_ocorrencia('36', '26', 400).must_equal 'A296' } # TÍTULO SOFRENDO ALTERAÇÃO DE CONTROLE (AGÊNCIA/CONTA/CARTEIRA/NOSSO NÚMERO)
|
414
|
+
it { subject.get_codigo_motivo_ocorrencia('37', '26', 400).must_equal 'A297' } # INSTRUÇÃO NÃO PERMITIDA PARA A CARTEIRA
|
415
|
+
it { subject.get_codigo_motivo_ocorrencia('38', '26', 400).must_equal 'A298' } # INSTRUÇÃO NÃO PERMITIDA PARA TÍTULO COM RATEIO DE CRÉDITO
|
416
|
+
it { subject.get_codigo_motivo_ocorrencia('40', '26', 400).must_equal 'A299' } # INSTRUÇÃO INCOMPATÍVEL – NÃO EXISTE INSTRUÇÃO DE NEGATIVAÇÃO EXPRESSA PARA O TÍTULO
|
417
|
+
it { subject.get_codigo_motivo_ocorrencia('41', '26', 400).must_equal 'A300' } # INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM ENTRADA EM NEGATIVAÇÃO EXPRESSA
|
418
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '26', 400).must_equal 'A301' } # INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM NEGATIVAÇÃO EXPRESSA CONCLUÍDA
|
419
|
+
it { subject.get_codigo_motivo_ocorrencia('43', '26', 400).must_equal 'A302' } # PRAZO INVÁLIDO PARA NEGATIVAÇÃO EXPRESSA – MÍNIMO: 02 DIAS CORRIDOS APÓS O VENCIMENTO
|
420
|
+
it { subject.get_codigo_motivo_ocorrencia('45', '26', 400).must_equal 'A303' } # INSTRUÇÃO INCOMPATÍVEL PARA O MESMO TÍTULO NESTA DATA
|
421
|
+
it { subject.get_codigo_motivo_ocorrencia('47', '26', 400).must_equal 'A21' } # INSTRUÇÃO NÃO PERMITIDA – ESPÉCIE INVÁLIDA
|
422
|
+
it { subject.get_codigo_motivo_ocorrencia('48', '26', 400).must_equal 'A46' } # DADOS DO PAGADOR INVÁLIDOS ( CPF / CNPJ / NOME )
|
423
|
+
it { subject.get_codigo_motivo_ocorrencia('49', '26', 400).must_equal 'A47' } # DADOS DO ENDEREÇO DO PAGADOR INVÁLIDOS
|
424
|
+
it { subject.get_codigo_motivo_ocorrencia('50', '26', 400).must_equal 'A24' } # DATA DE EMISSÃO DO TÍTULO INVÁLIDA
|
425
|
+
it { subject.get_codigo_motivo_ocorrencia('51', '26', 400).must_equal 'A305' } # INSTRUÇÃO NÃO PERMITIDA – TÍTULO COM NEGATIVAÇÃO EXPRESSA AGENDADA
|
426
|
+
end
|
427
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 30 para CNAB 400" do
|
428
|
+
it { subject.get_codigo_motivo_ocorrencia('02', '30', 400).must_equal 'A61' } # AGÊNCIA COBRADORA INVÁLIDA OU COM O MESMO CONTEÚDO
|
429
|
+
it { subject.get_codigo_motivo_ocorrencia('04', '30', 400).must_equal 'A52' } # SIGLA DO ESTADO INVÁLIDA
|
430
|
+
it { subject.get_codigo_motivo_ocorrencia('05', '30', 400).must_equal 'A16' } # DATA DE VENCIMENTO INVÁLIDA OU COM O MESMO CONTEÚDO
|
431
|
+
it { subject.get_codigo_motivo_ocorrencia('06', '30', 400).must_equal 'A306' } # VALOR DO TÍTULO COM OUTRA ALTERAÇÃO SIMULTÂNEA
|
432
|
+
it { subject.get_codigo_motivo_ocorrencia('08', '30', 400).must_equal 'A45' } # NOME DO PAGADOR COM O MESMO CONTEÚDO
|
433
|
+
it { subject.get_codigo_motivo_ocorrencia('09', '30', 400).must_equal 'A07' } # AGÊNCIA/CONTA INCORRETA
|
434
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '30', 400).must_equal 'A48' } # CEP INVÁLIDO
|
435
|
+
it { subject.get_codigo_motivo_ocorrencia('12', '30', 400).must_equal 'A53' } # NÚMERO INSCRIÇÃO INVÁLIDO DO SACADOR AVALISTA
|
436
|
+
it { subject.get_codigo_motivo_ocorrencia('13', '30', 400).must_equal 'A86' } # SEU NÚMERO COM O MESMO CONTEÚDO
|
437
|
+
it { subject.get_codigo_motivo_ocorrencia('16', '30', 400).must_equal 'A307' } # ABATIMENTO/ALTERAÇÃO DO VALOR DO TÍTULO OU SOLICITAÇÃO DE BAIXA BLOQUEADA
|
438
|
+
it { subject.get_codigo_motivo_ocorrencia('20', '30', 400).must_equal 'A21' } # ESPÉCIE INVÁLIDA
|
439
|
+
it { subject.get_codigo_motivo_ocorrencia('21', '30', 400).must_equal 'A308' } # AGÊNCIA COBRADORA NÃO CONSTA NO CADASTRO DE DEPOSITÁRIA OU EM ENCERRAMENTO
|
440
|
+
it { subject.get_codigo_motivo_ocorrencia('23', '30', 400).must_equal 'A24' } # DATA DE EMISSÃO DO TÍTULO INVÁLIDA OU COM MESMO CONTEÚDO
|
441
|
+
it { subject.get_codigo_motivo_ocorrencia('41', '30', 400).must_equal 'A23' } # CAMPO ACEITE INVÁLIDO OU COM MESMO CONTEÚDO
|
442
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '30', 400).must_equal 'A309' } # ALTERAÇÃO INVÁLIDA PARA TÍTULO VENCIDO
|
443
|
+
it { subject.get_codigo_motivo_ocorrencia('43', '30', 400).must_equal 'A310' } # ALTERAÇÃO BLOQUEADA – VENCIMENTO JÁ ALTERADO
|
444
|
+
it { subject.get_codigo_motivo_ocorrencia('53', '30', 400).must_equal 'A311' } # INSTRUÇÃO COM O MESMO CONTEÚDO
|
445
|
+
it { subject.get_codigo_motivo_ocorrencia('54', '30', 400).must_equal 'A312' } # DATA VENCIMENTO PARA BANCOS CORRESPONDENTES INFERIOR AO ACEITO PELO BANCO
|
446
|
+
it { subject.get_codigo_motivo_ocorrencia('55', '30', 400).must_equal 'A313' } # ALTERAÇÕES IGUAIS PARA O MESMO CONTROLE (AGÊNCIA/CONTA/CARTEIRA/NOSSO NÚMERO)
|
447
|
+
it { subject.get_codigo_motivo_ocorrencia('56', '30', 400).must_equal 'A06' } # CNPJ/CPF INVÁLIDO NÃO NUMÉRICO OU ZERADO
|
448
|
+
it { subject.get_codigo_motivo_ocorrencia('57', '30', 400).must_equal 'A314' } # PRAZO DE VENCIMENTO INFERIOR A 15 DIAS
|
449
|
+
it { subject.get_codigo_motivo_ocorrencia('60', '30', 400).must_equal 'A315' } # VALOR DE IOF – ALTERAÇÃO NÃO PERMITIDA PARA CARTEIRAS DE N.S. – MOEDA VARIÁVEL
|
450
|
+
it { subject.get_codigo_motivo_ocorrencia('61', '30', 400).must_equal 'A104' } # TÍTULO JÁ BAIXADO OU LIQUIDADO OU NÃO EXISTE TÍTULO CORRESPONDENTE NO SISTEMA
|
451
|
+
it { subject.get_codigo_motivo_ocorrencia('66', '30', 400).must_equal 'A316' } # ALTERAÇÃO NÃO PERMITIDA PARA CARTEIRAS DE NOTAS DE SEGUROS – MOEDA VARIÁVEL
|
452
|
+
it { subject.get_codigo_motivo_ocorrencia('67', '30', 400).must_equal 'A317' } # NOME INVÁLIDO DO SACADOR AVALISTA
|
453
|
+
it { subject.get_codigo_motivo_ocorrencia('72', '30', 400).must_equal 'A318' } # ENDEREÇO INVÁLIDO – SACADOR AVALISTA
|
454
|
+
it { subject.get_codigo_motivo_ocorrencia('73', '30', 400).must_equal 'A319' } # BAIRRO INVÁLIDO – SACADOR AVALISTA
|
455
|
+
it { subject.get_codigo_motivo_ocorrencia('74', '30', 400).must_equal 'A320' } # CIDADE INVÁLIDA – SACADOR AVALISTA
|
456
|
+
it { subject.get_codigo_motivo_ocorrencia('75', '30', 400).must_equal 'A321' } # SIGLA ESTADO INVÁLIDO – SACADOR AVALISTA
|
457
|
+
it { subject.get_codigo_motivo_ocorrencia('76', '30', 400).must_equal 'A322' } # CEP INVÁLIDO – SACADOR AVALISTA
|
458
|
+
it { subject.get_codigo_motivo_ocorrencia('81', '30', 400).must_equal 'A323' } # ALTERAÇÃO BLOQUEADA – TÍTULO COM NEGATIVAÇÃO EXPRESSA / PROTESTO
|
459
|
+
it { subject.get_codigo_motivo_ocorrencia('87', '30', 400).must_equal 'A324' } # ALTERAÇÃO BLOQUEADA – TÍTULO COM RATEIO DE CRÉDITO
|
460
|
+
end
|
461
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 100 para CNAB 400" do
|
462
|
+
it { subject.get_codigo_motivo_ocorrencia('01', '100', 400).must_equal 'A10' } # CARTEIRA/No NÚMERO NÃO NUMÉRICO
|
463
|
+
it { subject.get_codigo_motivo_ocorrencia('04', '100', 400).must_equal 'A09' } # NOSSO NÚMERO EM DUPLICIDADE NO MESMO MOVIMENTO
|
464
|
+
it { subject.get_codigo_motivo_ocorrencia('05', '100', 400).must_equal 'A325' } # SOLICITAÇÃO DE BAIXA PARA TÍTULO JÁ BAIXADO OU LIQUIDADO
|
465
|
+
it { subject.get_codigo_motivo_ocorrencia('06', '100', 400).must_equal 'A326' } # SOLICITAÇÃO DE BAIXA PARA TÍTULO NÃO REGISTRADO NO SISTEMA
|
466
|
+
it { subject.get_codigo_motivo_ocorrencia('07', '100', 400).must_equal 'A327' } # COBRANÇA PRAZO CURTO – SOLICITAÇÃO DE BAIXA P/ TÍTULO NÃO REGISTRADO NO SISTEMA
|
467
|
+
it { subject.get_codigo_motivo_ocorrencia('08', '100', 400).must_equal 'A328' } # SOLICITAÇÃO DE BAIXA PARA TÍTULO EM FLOATING
|
468
|
+
it { subject.get_codigo_motivo_ocorrencia('10', '100', 400).must_equal 'A329' } # VALOR DO TITULO FAZ PARTE DE GARANTIA DE EMPRESTIMO
|
469
|
+
it { subject.get_codigo_motivo_ocorrencia('11', '100', 400).must_equal 'A330' } # PAGO ATRAVÉS DO SISPAG POR CRÉDITO EM C/C E NÃO BAIXADO
|
470
|
+
end
|
471
|
+
context "CÓDIGOS para oa Caixa com Motivo Ocorrência A com codigo de movimento 218 para CNAB 400" do
|
472
|
+
it { subject.get_codigo_motivo_ocorrencia('16', '218', 400).must_equal 'A307' } # ABATIMENTO/ALTERAÇÃO DO VALOR DO TÍTULO OU SOLICITAÇÃO DE BAIXA BLOQUEADOS
|
473
|
+
it { subject.get_codigo_motivo_ocorrencia('40', '218', 400).must_equal 'A331' } # NÃO APROVADA DEVIDO AO IMPACTO NA ELEGIBILIDADE DE GARANTIAS
|
474
|
+
it { subject.get_codigo_motivo_ocorrencia('41', '218', 400).must_equal 'A332' } # AUTOMATICAMENTE REJEITADA
|
475
|
+
it { subject.get_codigo_motivo_ocorrencia('42', '218', 400).must_equal 'A304' } # CONFIRMA RECEBIMENTO DE INSTRUÇÃO – PENDENTE DE ANÁLISE
|
476
|
+
end
|
477
|
+
end
|
478
|
+
|
479
|
+
describe "#get_codigo_ocorrencia_pagador" do
|
480
|
+
context "CÓDIGOS para o Itau, Ocorrência do Pagador" do
|
481
|
+
it { subject.get_codigo_ocorrencia_pagador('1313', 240).must_equal '0302' } # SOLICITA A PRORROGAÇÃO DO VENCIMENTO PARA:
|
482
|
+
it { subject.get_codigo_ocorrencia_pagador('1321', 240).must_equal '0503' } # SOLICITA A DISPENSA DOS JUROS DE MORA
|
483
|
+
it { subject.get_codigo_ocorrencia_pagador('1339', 240).must_equal '0101' } # NÃO RECEBEU A MERCADORIA
|
484
|
+
it { subject.get_codigo_ocorrencia_pagador('1347', 240).must_equal '0102' } # A MERCADORIA CHEGOU ATRASADA
|
485
|
+
it { subject.get_codigo_ocorrencia_pagador('1354', 240).must_equal '0103' } # A MERCADORIA CHEGOU AVARIADA
|
486
|
+
it { subject.get_codigo_ocorrencia_pagador('1362', 240).must_equal '0105' } # A MERCADORIA CHEGOU INCOMPLETA
|
487
|
+
it { subject.get_codigo_ocorrencia_pagador('1370', 240).must_equal '0104' } # A MERCADORIA NÃO CONFERE COM O PEDIDO
|
488
|
+
it { subject.get_codigo_ocorrencia_pagador('1388', 240).must_equal '0106' } # A MERCADORIA ESTÁ À DISPOSIÇÃO
|
489
|
+
it { subject.get_codigo_ocorrencia_pagador('1396', 240).must_equal '0107' } # DEVOLVEU A MERCADORIA
|
490
|
+
it { subject.get_codigo_ocorrencia_pagador('1404', 240).must_equal '0201' } # NÃO RECEBEU A FATURA
|
491
|
+
it { subject.get_codigo_ocorrencia_pagador('1412', 240).must_equal '0108' } # A FATURA ESTÁ EM DESACORDO COM A NOTA FISCAL
|
492
|
+
it { subject.get_codigo_ocorrencia_pagador('1420', 240).must_equal '0202' } # O PEDIDO DE COMPRA FOI CANCELADO
|
493
|
+
it { subject.get_codigo_ocorrencia_pagador('1438', 240).must_equal '0203' } # A DUPLICATA FOI CANCELADA
|
494
|
+
it { subject.get_codigo_ocorrencia_pagador('1446', 240).must_equal '0109' } # QUE NADA DEVE OU COMPROU
|
495
|
+
it { subject.get_codigo_ocorrencia_pagador('1453', 240).must_equal '0603' } # QUE MANTÉM ENTENDIMENTOS COM O SACADOR
|
496
|
+
it { subject.get_codigo_ocorrencia_pagador('1461', 240).must_equal '0304' } # QUE PAGARÁ O TÍTULO EM:
|
497
|
+
it { subject.get_codigo_ocorrencia_pagador('1479', 240).must_equal '0305' } # QUE PAGOU O TÍTULO DIRETAMENTE AO BENEFICIÁRIO EM:
|
498
|
+
it { subject.get_codigo_ocorrencia_pagador('1487', 240).must_equal '0306' } # QUE PAGARÁ O TÍTULO DIRETAMENTE AO BENEFICIÁRIO EM:
|
499
|
+
it { subject.get_codigo_ocorrencia_pagador('1495', 240).must_equal '0301' } # QUE O VENCIMENTO CORRETO É:
|
500
|
+
it { subject.get_codigo_ocorrencia_pagador('1503', 240).must_equal '0501' } # QUE TEM DESCONTO OU ABATIMENTO DE:
|
501
|
+
it { subject.get_codigo_ocorrencia_pagador('1719', 240).must_equal '0401' } # PAGADOR NÃO FOI LOCALIZADO; CONFIRMAR ENDEREÇO
|
502
|
+
it { subject.get_codigo_ocorrencia_pagador('1727', 240).must_equal '0601' } # PAGADOR ESTÁ EM REGIME DE CONCORDATA
|
503
|
+
it { subject.get_codigo_ocorrencia_pagador('1735', 240).must_equal '0602' } # PAGADOR ESTÁ EM REGIME DE FALÊNCIA
|
504
|
+
it { subject.get_codigo_ocorrencia_pagador('1750', 240).must_equal '0504' } # PAGADOR SE RECUSA A PAGAR JUROS BANCÁRIOS
|
505
|
+
it { subject.get_codigo_ocorrencia_pagador('1768', 240).must_equal '0505' } # PAGADOR SE RECUSA A PAGAR COMISSÃO DE PERMANÊNCIA
|
506
|
+
it { subject.get_codigo_ocorrencia_pagador('1776', 240).must_equal '1776' } # NÃO FOI POSSÍVEL A ENTREGA DO BOLETO AO PAGADOR
|
507
|
+
it { subject.get_codigo_ocorrencia_pagador('1784', 240).must_equal '1784' } # BOLETO NÃO ENTREGUE, MUDOU-SE/DESCONHECIDO
|
508
|
+
it { subject.get_codigo_ocorrencia_pagador('1792', 240).must_equal '1792' } # BOLETO NÃO ENTREGUE, CEP ERRADO/INCOMPLETO
|
509
|
+
it { subject.get_codigo_ocorrencia_pagador('1800', 240).must_equal '1800' } # BOLETO NÃO ENTREGUE, NÚMERO NÃO EXISTE/ENDEREÇO INCOMPLETO
|
510
|
+
it { subject.get_codigo_ocorrencia_pagador('1818', 240).must_equal '1818' } # BOLETO NÃO RETIRADO PELO PAGADOR. REENVIADO PELO CORREIO PARA CARTEIRAS COM EMISSÃO PELO BANCO
|
511
|
+
it { subject.get_codigo_ocorrencia_pagador('1826', 240).must_equal '1826' } # ENDEREÇO DE E-MAIL INVÁLIDO/COBRANÇA MENSAGEM. BOLETO ENVIADO PELO CORREIO
|
512
|
+
it { subject.get_codigo_ocorrencia_pagador('1834', 240).must_equal '1834' } # BOLETO DDA, DIVIDA RECONHECIDA PELO PAGADOR
|
513
|
+
it { subject.get_codigo_ocorrencia_pagador('1842', 240).must_equal '1842' } # BOLETO DDA, DIVIDA NÃO RECONHECIDA PELO PAGADOR
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
517
|
+
describe "#get_codigo_movimento_retorno" do
|
518
|
+
context "CÓDIGOS para o cnab 400 do Itau" do
|
519
|
+
it { subject.get_codigo_movimento_retorno('07', 400).must_equal '102' } # LIQUIDAÇÃO PARCIAL – COBRANÇA INTELIGENTE (B2B)
|
520
|
+
it { subject.get_codigo_movimento_retorno('24', 400).must_equal '20' } # INSTRUÇÃO DE PROTESTO REJEITADA / SUSTADA / PENDENTE (NOTA 20 – TABELA 7)
|
521
|
+
it { subject.get_codigo_movimento_retorno('25', 400).must_equal '29' } # ALEGAÇÕES DO PAGADOR (NOTA 20 – TABELA 6)
|
522
|
+
it { subject.get_codigo_movimento_retorno('59', 400).must_equal '259' } # BAIXA POR CRÉDITO EM C/C ATRAVÉS DO SISPAG
|
523
|
+
it { subject.get_codigo_movimento_retorno('64', 400).must_equal '264' } # ENTRADA CONFIRMADA COM RATEIO DE CRÉDITO
|
524
|
+
it { subject.get_codigo_movimento_retorno('65', 400).must_equal '265' } # PAGAMENTO COM CHEQUE – AGUARDANDO COMPENSAÇÃO
|
525
|
+
it { subject.get_codigo_movimento_retorno('69', 400).must_equal '44' } # CHEQUE DEVOLVIDO (NOTA 20 – TABELA 9)
|
526
|
+
it { subject.get_codigo_movimento_retorno('71', 400).must_equal '271' } # ENTRADA REGISTRADA, AGUARDANDO AVALIAÇÃO
|
527
|
+
it { subject.get_codigo_movimento_retorno('72', 400).must_equal '272' } # BAIXA POR CRÉDITO EM C/C ATRAVÉS DO SISPAG SEM TÍTULO CORRESPONDENTE
|
528
|
+
it { subject.get_codigo_movimento_retorno('73', 400).must_equal '273' } # CONFIRMAÇÃO DE ENTRADA NA COBRANÇA SIMPLES – ENTRADA NÃO ACEITA NA COBRANÇA CONTRATUAL
|
529
|
+
it { subject.get_codigo_movimento_retorno('76', 400).must_equal '45' } # CHEQUE COMPENSADO
|
530
|
+
end
|
531
|
+
end
|
189
532
|
end
|