tacsio / jornada-dev-eficiente

Implementação de projetos para a Jornada do Dev Eficiente
https://deveficiente.com/
MIT License
8 stars 3 forks source link

Validação do preço total no método toModel do pedido e no construtor. #26

Open gustavoprimolan opened 4 years ago

gustavoprimolan commented 4 years ago

Opa, novamente não sei se é algo que ainda não enxerguei no seu código, mas queria saber o motivo do pq criar a validação no toModel do pedido e no construtor? Como no caso abaixo.

https://github.com/tacsio/jornada-dev-eficiente/blob/264ef93ce7e753ae86ba3d1edefa4b5f186a3816/api-casa-codigo/src/main/java/io/tacsio/order/dto/PedidoForm.java#L35

https://github.com/tacsio/jornada-dev-eficiente/blob/264ef93ce7e753ae86ba3d1edefa4b5f186a3816/api-casa-codigo/src/main/java/io/tacsio/order/Pedido.java#L55

Digo isso, pq tecnicamente, quando você utilizar o toModel do pedido ele obrigatoriamente já vai utilizar o construtor do pedido, então acho que talvez essa validação dentro do form não seja necessária.

O que você acha? Qual foi sua ideia quando criou as validações?

tacsio commented 4 years ago

É exatamente como vc falou @gustavoprimolan , se já vai utilizar o construtor não tem sentido a validação no form. Eu fiquei me perguntando muito se isso não foi demais... Fiquei no seguinte dilema:

Proteger a borda e deixar a construção de um Pedido inválido (através de um new) Ou deixar a borda "desprotegida" uma vez que a criação do pedido irá validar essa informação.

Acabou que deixei os dois e marquei para trocar uma ideia na live de quinta-feira!

gustavoprimolan commented 4 years ago

Entendi, mano. Boa! Vamos tirar essa dúvida sim.