Пример #1
0
        public async Task <Guid> Adicionar(LogViewModel logViewModel)
        {
            var command = new AdicionarNovoLogCommand(logViewModel.UsuarioId, logViewModel.AmbienteId,
                                                      logViewModel.NivelId, logViewModel.Titulo, logViewModel.Descricao, logViewModel.Origem);

            return(await _mediator.Send(command));
        }
Пример #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 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);
        }
Пример #4
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));
        }
Пример #5
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);
        }