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

Teste/danilo daltro #81

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

danilodaltro
Copy link

Adaptação do projeto para o DDD utilizando os conceitos de entidade e valor de objeto nas classes existentes e para a Onion Archtecture com a criação das camadas de Domain, Application e Tests separando a responsabilidade de cada classe de acordo com sua função.

Aplicação de padrão Strategy para acoplar os cálculos de créditos e valor do dinheiro em cada tipo de peça.

Criação de testes para cobrir a criação das entidades e operações.

…os (Play e PlayType):

- Classe base Entity para aplicar o conceito de entidade em Play
- Classe base ValueObject para aplicar o conceito de value objects em PlayType
- Classe DomainExceptionValidation para lançamento de exeções a partir de validações do domínio
- Enum PlayTypeEnum para relacionar com Plays em DB e nas classes strategy

Aplicação de padrão Strategy para separar responsabilidades diferentes para cada gênero de peça através da interface IPlayTypeStrategy

Cobertura de testes para o cálculo de valor da peça por gênero
- Implementação de testes para cobrir refatoração em cálculo de créditos de uma peça por tipo;
- Alteração de nome de método de cálculo na entidade Play para descrever melhor o parâmetro;
- Refatoração de método de cálculo de créditos na entidade Play e nas strategies do objeto de valor PlayType.
    Criação de testes para cobrir entidades Play, Invoice e Performance.
    Refatoração das classes Invoice e Performance transformando-as em entidades.
    Reorganização de arquivos e criação da camada Application para conter a lógica de chamada da produção de extrados, que agora pertecem a entidade Invoice.
    Refatorações em Play e PlayTest para permitir melhor o acesso a informações do gênero da peça através da entidade.
    Refatoração na classe StatementPrinter, transformada em caso de uso com uma chamada direta da ação de gerar o relatório a partir da entidade Invoice.
- Implementação de fluxo para gerar relatório XML a partir de informações de Invoice;
-Criação de nova entidade Statement e objeto de valor StatementItem utilizados na geração do relatório;
- Implementação de testes para cobrir nova entidade, objeto de valor e novo fluxo para criação do relatório.
- Adaptação da classe base Entity para ser ignorada na geração de relatórios.
- Criação da classe UTF8StringWriter, utilizada na geração do relatório, para que seja forçado o encoding UTF8 removendo o marcador BOM (Byte Order Mark).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant