EduardoPires / EquinoxProject

Full ASP.NET Core 6 application with DDD, CQRS and Event Sourcing concepts

Home Page:http://equinoxproject.azurewebsites.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ajuda para teste Teste de unidade para o CommandHandler e assert do evento publicado

eliezeralmeida opened this issue · comments

Cenário

Utilizei alguns conceitos da arquitetura do projeto Equinox, um dos recursos foi o de publicar eventos pelo mediator utilizando a mesma técnica do projeto, onde tem um método commit na DbContext e esse método é o responsável por publicar os eventos que estão na Entidade.

O que estou testando

Estou testando um command handler, no caso que irei apresentar é o ClienteHandler manipulando o NovoClienteCommand, quero nesse teste checar se se o MediatR.Publish foi chamado uma única vez, pq considero uma regra muito importante do meu domínio garantir que esse evento tenha sido criado (não sei se faz sentido essa analogia).

Exemplo de código

image

Problema que identifiquei

Pelo fato da implementação do DbContext ser responsável por fazer essa chamada e o Moq injeta um Mock de Repository, e logo o publish não é chamado.

Não estou conseguindo testar esse fato.
Alguém possui alguma dica para me ajudar e que possa compartilhar?

I'm closing this issue. To be more inclusive with the global community we are just accepting issues in English.