public async Task ObterPorId_DeveRetornarAmbienteQuandoForEncontradoNoBanco()
        {
            var ambiente = AmbienteFactory.GerarAmbiente();
            await _context.Ambientes.AddAsync(ambiente);

            await _context.SaveChangesAsync();

            var query        = new ObterAmbientePorIdQuery(ambiente.Id);
            var queryHandler = new AmbienteQueryHandler(_ambienteRepository);

            var ambienteBanco = await queryHandler.Handle(query, CancellationToken.None);

            ambienteBanco.Should().BeEquivalentTo(ambiente);
        }
        public async Task HandlerObterTodos_DeveRetornarTodosOsAmbientesSalvosNoBanco()
        {
            var ambiente1 = AmbienteFactory.GerarAmbiente();
            var ambiente2 = AmbienteFactory.GerarAmbiente();
            await _context.Ambientes.AddRangeAsync(ambiente1, ambiente2);

            await _context.SaveChangesAsync();

            var query        = new ObterTodosOsAmbientesQuery(1, 20);
            var queryHandler = new AmbienteQueryHandler(_ambienteRepository);

            var ambientes = await queryHandler.Handle(query, CancellationToken.None);

            ambientes.Should().HaveCount(2);
        }
        public async Task HandlerObterTodos_DeveRetornarTodosOsLogsSalvosNoBanco()
        {
            var usuario  = UsuarioFactory.GerarUsuario();
            var ambiente = AmbienteFactory.GerarAmbiente();
            var nivel    = NivelFactory.GerarNivel();
            var log1     = new Log(usuario.Id, ambiente.Id, nivel.Id, "título", "descrição", "0.0.0.0");
            var log2     = new Log(usuario.Id, ambiente.Id, nivel.Id, "título", "descrição", "0.0.0.0");
            await _context.AddRangeAsync(usuario, ambiente, nivel, log1, log2);

            await _context.SaveChangesAsync();

            var query        = new ObterTodosOsLogsQuery(1, 20, Guid.Empty, null, null, null);
            var queryHandler = new LogQueryHandler(_logRepository);

            var logs = await queryHandler.Handle(query, CancellationToken.None);

            logs.Should().HaveCount(2);
        }
예제 #4
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);
        }
예제 #5
0
        public async Task HandlerAdicionar_DeveLancarNotificacaoQuandoNivelNaoExistir()
        {
            var usuario  = UsuarioFactory.GerarUsuario();
            var ambiente = AmbienteFactory.GerarAmbiente();

            _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));

            var command        = new AdicionarNovoLogCommand(usuario.Id, ambiente.Id, 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));
        }