public async Task <IActionResult> Post([FromBody] CriarNotaFiscalCommand cmd) { var(id, validationResult) = await _mediator.Send(cmd); if (validationResult.IsValid) { return(CreatedAtRoute("GetOneNotaFiscal", new { id }, id)); } else { return(BadRequest(validationResult.ToDTO())); } }
public async Task ServicoDevePublicarEventoNotaFiscalCriada() { Clock.UseTestClock = true; var repo = new Mock <INotaFiscalRepository>(); var mediator = new Mock <IMediator>(); var cmd = new CriarNotaFiscalCommand { Cnpj = 123, Empresa = "text", Linhas = new List <LinhaNotaFiscalDTO> { new LinhaNotaFiscalDTO { IdProduto = 1, Preco = 10, Quantidade = 1 } } }; var nfs = new CriarNotaFiscalHandler(repo.Object, mediator.Object); var(id, validationResult) = await nfs.Handle(cmd, new CancellationToken()); mediator.Verify(m => m.Publish <DomainEvent>(new NotaFiscalCriada(id), default)); }