br_boleto 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|