コード例 #1
0
        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()));
            }
        }
コード例 #2
0
        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));
        }