public async Task ObterPorId_DeveRetornarUsuarioQuandoForEncontradoNoBanco()
        {
            var usuario = UsuarioFactory.GerarUsuario();
            await _context.Usuarios.AddAsync(usuario);

            await _context.SaveChangesAsync();

            var query        = new ObterUsuarioPorIdQuery(usuario.Id);
            var queryHandler = new UsuarioQueryHandler(_usuarioRepository);

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

            usuarioBanco.Should().BeEquivalentTo(usuario);
        }
Esempio n. 2
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));
        }
        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);
        }
Esempio n. 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);
        }