public async Task deve_retornar_sucesso_quando_editar_pretendente() { //arrange var comando = new EditarPretendenteCommand(Guid.NewGuid(), "Nome do pretendente atualizado"); var evento = new PretendenteEditadoEvent(comando.Id, comando.Nome); var pretendenteDb = new Pretendente("Nome do pretendente", "*****@*****.**"); _bus.Setup(p => p.Publish(It.IsAny <PretendenteEditadoEvent>(), _cancellationToken)) .Callback <PretendenteEditadoEvent, CancellationToken> ((re, ca) => { evento = re; _cancellationToken = ca; }); _pretendenteRepositorio.Setup(p => p.ObterAsync(comando.Id)).ReturnsAsync(pretendenteDb); _pretendenteRepositorio.Setup(p => p.AtualizarAsync(pretendenteDb)).Returns(Task.CompletedTask); //act var resultado = await _handler.Handle(comando, _cancellationToken); //assert Assert.True(resultado.Sucesso); Assert.Equal(resultado.StatusCode, HttpStatusCode.OK); Assert.Equal(comando.Nome, pretendenteDb.Nome); Assert.Equal(resultado.Mensagem, "Operação realizada com sucesso."); _pretendenteRepositorio.Verify(p => p.AtualizarAsync(It.IsAny <Pretendente>()), Times.Once); _bus.Verify(p => p.Publish(evento, _cancellationToken), Times.Once); }
public async Task deve_retornar_erro_quando_nao_encontrar_pretendente() { //arrange var comando = new RemoverPretendenteCommand(Guid.NewGuid()); Pretendente pretendente = null; _pretendenteRepositorio.Setup(p => p.ObterAsync(comando.Id)).ReturnsAsync(pretendente); //act var resultado = await _handler.Handle(comando, _cancellationToken); //assert Assert.False(resultado.Sucesso); Assert.Equal(resultado.StatusCode, HttpStatusCode.NotFound); Assert.Equal(resultado.Mensagem, "Objeto não encontrado."); _pretendenteRepositorio.Verify(p => p.RemoverAsync(It.IsAny <Guid>()), Times.Never); _bus.Verify(p => p.Publish(It.IsAny <PretendenteRemovidoEvent>(), _cancellationToken), Times.Never); }
public async Task deve_retornar_erro_quando_email_ja_existe() { //arrange var comando = new CriarPretendenteCommand("Nome do pretendente", "*****@*****.**"); var evento = new PretendenteCriadoEvent(comando.Nome, comando.Email); var pretendeteDb = new Pretendente(comando.Nome, comando.Email); _pretendenteRepositorio.Setup(p => p.ObterPorEmailAsync(comando.Email)).ReturnsAsync(pretendeteDb); //act var resultado = await _handler.Handle(comando, _cancellationToken); //assert Assert.False(resultado.Sucesso); Assert.Equal(resultado.StatusCode, HttpStatusCode.BadRequest); Assert.Equal(resultado.Errors.FirstOrDefault(), "E-mail informado já esta em uso."); _pretendenteRepositorio.Verify(p => p.AdicionarAsync(It.IsAny <Pretendente>()), Times.Never); _bus.Verify(p => p.Publish(evento, _cancellationToken), Times.Never); }
public PretendenteTests() { pretendente = new Pretendente(); }
public async Task AtualizarAsync(Pretendente pretendente) { _contexto.Update(pretendente); await _contexto.SaveChangesAsync(); }
public async Task AdicionarAsync(Pretendente pretendente) { await _contexto.Pretendentes.AddAsync(pretendente); await _contexto.SaveChangesAsync(); }