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); }
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)); } }
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); }