Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementar formatação de boletos #435

Open
ramiroluz opened this issue Oct 21, 2024 · 2 comments · May be fixed by #497
Open

Implementar formatação de boletos #435

ramiroluz opened this issue Oct 21, 2024 · 2 comments · May be fixed by #497
Assignees
Labels

Comments

@ramiroluz
Copy link

Título: Implementar formatação de boletos

Descrição:

Proponho a criação de uma nova função, format_boleto, para formatar strings de boletos de acordo com padrões definidos.

Justificativa:

A formatação de boletos é uma tarefa comum em diversas aplicações financeiras e contábeis. Ao incluir essa funcionalidade na biblioteca, facilitamos o desenvolvimento de soluções que envolvam o processamento de boletos.

Funcionalidades:

  • Formatação: Converter um objeto boleto em uma linha digitável.
  • Validação: Verificar se a entrada é válida de acordo com as regras do formato escolhido.
  • Tratamento de erros: Retornar None para entradas inválidas.

Documentação:

A função terá uma docstring detalhada, incluindo:

  • Descrição da função.
  • Parâmetros de entrada.
  • Valor de retorno.
  • Exemplos de uso.
  • Casos de uso.

Testes unitários:

Serão criados testes unitários para cobrir os seguintes cenários:

  • Entradas válidas: Diferentes formatos de boletos válidos.
  • Entradas inválidas: Boletos com dados faltantes, inválidos ou em formatos não suportados.
  • Limites: Testar os limites da função (e.g., tamanho máximo da string, valores numéricos).

Exemplo de implementação (inicial):

def format_boleto(boleto_string: str) -> str:
    """Formata uma string de boleto.

    **Args:**
        boleto_string (str): A string representando o boleto.

    **Returns:**
        str: A string formatada, ou None se a entrada for inválida.

    **Raises:**
        NotImplementedError: A implementação da lógica ainda está pendente.

    **Exemplo:**
        >>> boleto = Boleto(
       ...     data_documento = datetime.date(2000, 7, 4)
       ...     data_vencimento = datetime.date(2000, 7, 4)
       ...     data_processamento = datetime.date(2012, 7, 11)
       ...     valor_documento = 550
       ...     agencia_cedente = '1102'
       ...     conta_cedente = '9000150'
       ...     convenio = 7777777
       ...     nosso_numero = str(22832563 + i)
       ...     numero_documento = str(22832563 + i)
       ... )
        >>> format_boleto(boleto)
        '04192.11107 29000.150226 83256.340593 8 10010000055000'
    """

    # Implementar a lógica da função aqui

    raise NotImplementedError
@camilamaia camilamaia mentioned this issue Jan 13, 2025
10 tasks
@luizcarlosom
Copy link

bora!

Copy link

github-actions bot commented Feb 4, 2025

Issue 435 atribuida a luizcarlosom 🚀"
"Verifique o guia de contribuição para mais informações sobre como submeter sua Pull Request."

@LuizaMaluf LuizaMaluf linked a pull request Feb 7, 2025 that will close this issue
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants