public async Task deve_retornar_sucesso_quando_editar_pretendente() { //arrange var comando = new RemoverPretendenteCommand(Guid.NewGuid()); var evento = new PretendenteRemovidoEvent(comando.Id); var pretendenteDb = new Pretendente("Nome do pretendente", "*****@*****.**"); _bus.Setup(p => p.Publish(It.IsAny <PretendenteRemovidoEvent>(), _cancellationToken)) .Callback <PretendenteRemovidoEvent, CancellationToken> ((re, ca) => { evento = re; _cancellationToken = ca; }); _pretendenteRepositorio.Setup(p => p.ObterAsync(comando.Id)).ReturnsAsync(pretendenteDb); _pretendenteRepositorio.Setup(p => p.RemoverAsync(comando.Id)).Returns(Task.CompletedTask); //act var resultado = await _handler.Handle(comando, _cancellationToken); //assert Assert.True(resultado.Sucesso); Assert.Equal(resultado.StatusCode, HttpStatusCode.OK); Assert.Equal(resultado.Mensagem, "Operação realizada com sucesso."); _pretendenteRepositorio.Verify(p => p.RemoverAsync(It.IsAny <Guid>()), Times.Once); _bus.Verify(p => p.Publish(evento, _cancellationToken), Times.Once); }
public Task Handle(PretendenteRemovidoEvent notification, CancellationToken cancellationToken) { _logger.LogInformation($"Pretendente {notification.Id} foi removido."); return(Task.CompletedTask); }