示例#1
0
        public async Task HandlerDeletar_DeveInvalidarCommandQuandoIdForVazio()
        {
            var commandVazio   = new DeletarLogCommand();
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(commandVazio, CancellationToken.None);

            commandVazio.ValidationResult.IsValid.Should().Be(false);
        }
示例#2
0
        public async Task HandlerAdicionar_DeveLancarNotificacaoQuandoUsuarioNaoExistir()
        {
            var command        = new AdicionarNovoLogCommand(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), "título", "descrição", "0.0.0.0");
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            _mediatorMock.Verify(mediator => mediator.Publish(It.IsAny <DomainNotification>(), CancellationToken.None));
        }
示例#3
0
        public async Task HandlerDeletar_DeveLancarNotificacaoQuandoLogNaoExistir()
        {
            var command        = new DeletarLogCommand(Guid.NewGuid());
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            _mediatorMock.Verify(mediator => mediator.Publish(It.IsAny <DomainNotification>(), CancellationToken.None));
        }
示例#4
0
        public async Task HandlerAdicionar_DeveInvalidarCommandQuandoOrigemForNullOuVazio()
        {
            var commandNull    = new AdicionarNovoLogCommand(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), "título", "descrição", null);
            var commandVazio   = new AdicionarNovoLogCommand(Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), "título", "descrição", "");
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(commandNull, CancellationToken.None);

            await commandHandler.Handle(commandVazio, CancellationToken.None);

            commandNull.ValidationResult.IsValid.Should().Be(false);
            commandVazio.ValidationResult.IsValid.Should().Be(false);
        }
示例#5
0
        public async Task HandlerDeletar_DeveDeletarLog()
        {
            var log = LogFactory.GerarLog();
            await _context.Logs.AddAsync(log);

            await _context.SaveChangesAsync();

            var command        = new DeletarLogCommand(log.Id);
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            (await _context.Logs.ToListAsync()).Should().HaveCount(0);
        }
示例#6
0
        public async Task HandlerAdicionar_DeveLancarNotificacaoQuandoAmbienteNaoExistir()
        {
            var usuario = UsuarioFactory.GerarUsuario();

            _mediatorMock
            .Setup(mediator => mediator.Send(It.IsAny <ObterUsuarioPorIdQuery>(), CancellationToken.None))
            .Returns(async() => await Task.Run(() => usuario));

            var command        = new AdicionarNovoLogCommand(usuario.Id, Guid.NewGuid(), Guid.NewGuid(), "título", "descrição", "0.0.0.0");
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            _mediatorMock.Verify(mediator => mediator.Publish(It.IsAny <DomainNotification>(), CancellationToken.None));
        }
示例#7
0
        public async Task HandlerArquivar_DeveAtualizarCampoArquivadoEm()
        {
            var log = LogFactory.GerarLog();
            await _context.Logs.AddAsync(log);

            await _context.SaveChangesAsync();

            var command        = new ArquivarLogCommand(log.Id);
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            var logSalvo = await _context.Logs.FirstOrDefaultAsync();

            logSalvo.ArquivadoEm.Should().BeCloseTo(DateTime.UtcNow, 1000);
        }
示例#8
0
        public async Task HandlerAdicionar_DeveAdicionarLogComUsuarioAmbienteNivelTituloDescricaoEOrigem()
        {
            var usuario   = UsuarioFactory.GerarUsuario();
            var ambiente  = AmbienteFactory.GerarAmbiente();
            var nivel     = NivelFactory.GerarNivel();
            var titulo    = "título";
            var descricao = "descrição";
            var origem    = "0.0.0.0";

            await _context.AddRangeAsync(usuario, ambiente, nivel);

            await _context.SaveChangesAsync();

            _mediatorMock
            .Setup(mediator => mediator.Send(It.IsAny <ObterUsuarioPorIdQuery>(), CancellationToken.None))
            .Returns(async() => await Task.Run(() => usuario));

            _mediatorMock
            .Setup(mediator => mediator.Send(It.IsAny <ObterAmbientePorIdQuery>(), CancellationToken.None))
            .Returns(async() => await Task.Run(() => ambiente));

            _mediatorMock
            .Setup(mediator => mediator.Send(It.IsAny <ObterNivelPorIdQuery>(), CancellationToken.None))
            .Returns(async() => await Task.Run(() => nivel));

            var command        = new AdicionarNovoLogCommand(usuario.Id, ambiente.Id, nivel.Id, titulo, descricao, origem);
            var commandHandler = new LogCommandHandler(_mediatorMock.Object, _logRepository);

            await commandHandler.Handle(command, CancellationToken.None);

            (await _context.Logs.CountAsync()).Should().Be(1);
            var log = await _context.Logs.FirstOrDefaultAsync();

            log.Usuario.Should().BeEquivalentTo(usuario);
            log.Ambiente.Should().BeEquivalentTo(ambiente);
            log.Nivel.Should().BeEquivalentTo(nivel);
            log.UsuarioId.Should().Be(usuario.Id);
            log.AmbienteId.Should().Be(ambiente.Id);
            log.NivelId.Should().Be(nivel.Id);
            log.Titulo.Should().Be(titulo);
            log.Descricao.Should().Be(descricao);
            log.Origem.Should().Be(origem);
        }