Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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();
        }