Skip to content

Criar entidades por métodos de fábrica e padronizar os testes pelos builders - #31

Merged
Rodrigosdk merged 7 commits into
developerfrom
feature/entity-factory-methods
Nov 13, 2026
Merged

Rodrigosdk merged 7 commits into
developerfrom
feature/entity-factory-methods

Conversation

@Rodrigosdk

@Rodrigosdk Rodrigosdk commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Esta branch troca os construtores públicos das entidades por métodos de fábrica que validam os dados, e reorganiza os testes para criar entidades e dados só pelos builders do CommonTestUtilities.

Mudanças

Entidades

  • Policyholder, Policy, Claim e User passam a ser criados por Create(...), que valida tudo antes de montar a entidade. O construtor fica privado e é usado só pelo EF Core ao carregar do banco, sem reaplicar as regras de criação.
  • As validações de cada entidade ficam num Validate privado, sem mudar as regras nem as mensagens.
  • Os casos de uso de cadastro passam a chamar Create em vez de new.

Testes de domínio

  • Os limites de tamanho dos textos e de precisão dos valores passam a ser testados nas próprias entidades; FieldLimitsTests e MoneyLimitsTests saem.
  • Os testes de exceção seguem um padrão único, inclusive o ExceptionMessageTests.

CommonTestUtilities

  • Os builders de entidade ganham BuildToCreate, que gera dados válidos para o Create, e os testes de entidade usam esses builders.
  • BuildWithStatus do ClaimBuilder cobre todos os status do sinistro.
  • Os geradores de CPF, telefone, senha e data de nascimento vão de Requests para Generators.

Testes da Application

  • Os builders de repositório e os testes dos casos de uso usam só as interfaces dos repositórios.
  • As asserções de exceção seguem o mesmo padrão em todos os casos de uso.

Infrastructure

  • Sai o InternalsVisibleTo("CommonTestUtilities") do PolicyDeskDbContext, que não era mais usado.

@Rodrigosdk
Rodrigosdk merged commit 157644d into developer Nov 13, 2026
3 checks passed
@Rodrigosdk
Rodrigosdk deleted the feature/entity-factory-methods branch November 13, 2026 14:39
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