[PG-3218] Adiciona exceção do Luhn check para Softnex#35
[PG-3218] Adiciona exceção do Luhn check para Softnex#35felipetrz-maistodos wants to merge 1 commit into
Conversation
|
|
||
| def get_brand(self): | ||
| @cached_property | ||
| def _brand(self): |
There was a problem hiding this comment.
Adicionei como cached_property pra evitar ficar passando pelas regexes várias vezes pro mesmo cartão.
There was a problem hiding this comment.
o motor sempre instancia CreditCard toda vez que vai usar? Isso nao pode mascarar algum comportamento que a gente nao tem ideia ainda?
| return len(self.number) in range(13, 19) and Luhn.checkdigit(self.number) | ||
|
|
||
| def get_brand(self): | ||
| if brand := self._brand: |
There was a problem hiding this comment.
Tem uma função acima que extrai baseado no número
| if self._brand == "softnex": | ||
| # Softnex emite cartões que não são válidos pelo Luhn | ||
| return True | ||
| return len(self.number) in range(13, 19) and Luhn.checkdigit(self.number) |
There was a problem hiding this comment.
Se for softnex, a validação do range poderia ser usada?
def is_valid(self):
return len(self.number) in range(13, 19) and self._brand == "softnex" or Luhn.checkdigit(self.number)
There was a problem hiding this comment.
Pensei em incluir a validação do tamanho na softnex também, mas como eles estão mudando o formato pra não ser mais um cartão de crédito válido, pensei que talvez isso possa mudar no futuro também.
Podemos deixar só eles validando o número do cartão mesmo.
| return len(self.number) in range(13, 19) and Luhn.checkdigit(self.number) | ||
|
|
||
| def get_brand(self): | ||
| if brand := self._brand: |
There was a problem hiding this comment.
Tem uma função acima que extrai baseado no número
PG-3218