BoletoNet / boleto2net

Nova versão do Boleto.Net
Apache License 2.0
162 stars 139 forks source link

[Caixa] Cnab240 #330

Closed marcosgerene closed 2 years ago

marcosgerene commented 2 years ago

@rafd75 @carloscds A remessa está validando, mas ainda não obtive resposta sobre os boletos, acho interessante segurar para aceitar o PR.

marcosgerene commented 2 years ago

Boleto e remessa validados.

rafd75 commented 2 years ago

@marcosgerene - boa tarde! ... TOP!

Seria muito complicado, "duplicar" o teste existente da Caixa, mas usando um cedente de 7 dígitos?

Podemos renomear o teste abaixo para BancoCaixaCarteiraSig14_6digitosTests e criar um novo BancoCaixaCarteiraSig14_7digitosTests... dessa forma, em uma possível manutenção futura, estamos protegidos nos 2 cenários...

https://github.com/BoletoNet/boleto2net/blob/master/Boleto2.Net.Testes/BancoCaixaCarteiraSig14Tests.cs

Acha válido?

marcosgerene commented 2 years ago

@rafd75

Só para eu entender e não haver falhas de comunicação: eu executei os testes e não houve falha, então teoricamente a alteração não afeta os cedentes de 6 dígitos. O problema que você está levantando é que não estamos validando os cedentes de 7 dígitos nos testes, correto?

Mas neste caso não seria só adicionar mais algumas linhas no teste que já existe, mas informando com 7 dígitos e garantindo que a resposta está ok?

rafd75 commented 2 years ago

É exatamente isso... proteger com 7 dígitos.

Não da para fazer no mesmo teste, pq o cedente é criado no construtor da classe, e utilizado por todos os testes... Acho que o jeito mais fácil, é duplicar mesmo, e alterar para 7 dígitos. E então, acredito que todos os testes passam a falhar, pq se muda o código de barras ou campo livre (digitável) ... os testes de 6 dígitos, não devem bater com os de 7...

Quando eu fiz os testes, eu fui alterando na unha até fechar todas as possibilidades (digitoVerificador de 1 a 9 - é o quarto parâmetro do método Caixa_SIG14_BoletoOK)

marcosgerene commented 2 years ago

@rafd75

Entendi perfeitamente sua colocação e estou de acordo. Talvez seja interessante, "matar esse ponto" para que depois possamos avaliar a ideia de mandar um segundo PR adicionando o teste, ou se você mesmo pensa em adiciona-lo, para mim, sem problemas.

rafd75 commented 2 years ago

@marcosgerene - eu até faço, mas eu preciso do seu teste validado, para trocar os valores no método do teste.

Se vc tiver 9 boletos, com o dígito verificador de 1 a 9, faço a rotina sem maiores problemas. Mas o mais difícil é exatamente achar essas 9 combinações para fechar todas as contas possíveis.