public async Task ObterPorId_DeveRetornarNivelQuandoForEncontradoNoBanco()
        {
            var nivel = NivelFactory.GerarNivel();
            await _context.Niveis.AddAsync(nivel);

            await _context.SaveChangesAsync();

            var query        = new ObterNivelPorIdQuery(nivel.Id);
            var queryHandler = new NivelQueryHandler(_nivelRepository);

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

            nivelBanco.Should().BeEquivalentTo(nivel);
        }
        public async Task HandlerObterTodos_DeveRetornarTodosOsNivelsSalvosNoBanco()
        {
            var nivel1 = NivelFactory.GerarNivel();
            var nivel2 = NivelFactory.GerarNivel();
            await _context.Niveis.AddRangeAsync(nivel1, nivel2);

            await _context.SaveChangesAsync();

            var query        = new ObterTodosOsNiveisQuery(1, 20);
            var queryHandler = new NivelQueryHandler(_nivelRepository);

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

            niveis.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);
        }