예제 #1
0
        public async Task LancarAulaHandler_Handle_DeveRetornarListaComErros()
        {
            var comando = new LancarAulasComando(new List <Reserva>());

            _validadorMock.Setup(lnq => lnq.Validar(comando)).Returns("Erro encontrado!");

            var handler   = new LancarAulasComandoHandler(_mediatorMock.Object, _validadorMock.Object);
            var resultado = await handler.Handle(comando, default);

            resultado.TemErro().Should().BeTrue();
            resultado.GetErros().Should().Be("Erro encontrado!");

            _validadorMock.Verify(lnq => lnq.Validar(comando), Times.Once);
            _mediatorMock.Verify(lnq => lnq.Send(It.IsAny <CriarAulaComando>(), It.IsAny <CancellationToken>()), Times.Never);
        }
예제 #2
0
        public async Task <IActionResult> Lancar([FromBody] LancarAulasComando lancarAulaComando)
        {
            try
            {
                var resultado = await _mediator.Send(lancarAulaComando);

                if (resultado.TemErro())
                {
                    return(BadRequest(resultado.GetErros()));
                }

                return(Ok(resultado.GetResultado()));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
예제 #3
0
        public async Task LancarAulaHandler_Handle_DeveRetornarErroAoNotificarReserva()
        {
            _mediatorMock.Setup(lnq => lnq.Send(It.IsAny <CriarAulaComando>(), It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(new Resposta <AulaViewModel>(new AulaViewModel(), "Erro")));

            var comando = new LancarAulasComando(new List <Reserva> {
                new Reserva("Terça", "07:00")
            });

            var handler   = new LancarAulasComandoHandler(_mediatorMock.Object, _validadorMock.Object);
            var resultado = await handler.Handle(comando, default);

            resultado.TemErro().Should().BeFalse();
            resultado.GetErros().Should().BeEmpty();
            resultado.GetResultado().Should().HaveCount(1);
            resultado.GetResultado().Should().Contain("Erro");

            _validadorMock.Verify(lnq => lnq.Validar(comando), Times.Once);
            _mediatorMock.Verify(lnq => lnq.Send(It.IsAny <CriarAulaComando>(), It.IsAny <CancellationToken>()), Times.Once);
        }