Пример #1
0
        public async Task AutenticarUsuario_AutenticadoComSucesso()
        {
            // Arrange
            var autenticacaoViewModel = new AutenticacaoRequisicaoViewModel {
                Email = "*****@*****.**",
                Senha = "abc"
            };
            var autenticacaoRespostaViewModel = new AutenticacaoRespostaViewModel();
            var autenticacao = new Usuario(Guid.NewGuid(), "Guilherme", "*****@*****.**", "123456");
            var usuarioDto   = new UsuarioDto()
            {
                Id = Guid.NewGuid()
            };

            // Act
            var mapper       = new Mock <IMapper>();
            var mockUsuario  = new Mock <IUsuarioRepository>();
            var mockSecurity = new Mock <ISecurityService>();

            mapper.Setup(c => c.Map <Usuario>(autenticacaoViewModel)).Returns(autenticacao);
            mockUsuario.Setup(c => c.ObterPorEmailESenha(autenticacao)).Returns(Task.FromResult(autenticacao));
            mapper.Setup(c => c.Map <AutenticacaoRespostaViewModel>(autenticacao)).Returns(autenticacaoRespostaViewModel);
            mapper.Setup(c => c.Map <UsuarioDto>(autenticacao)).Returns(usuarioDto);
            mockSecurity.Setup(c => c.gerarJwtToken(usuarioDto)).Returns("asfgvbv");

            var service   = new UsuarioService(mapper.Object, mockUsuario.Object, mockSecurity.Object);
            var adicionar = await service.Autenticar(autenticacaoViewModel);

            // Assert
            Assert.IsType(typeof(AutenticacaoRespostaViewModel), adicionar);
        }
Пример #2
0
        public async Task <IActionResult> Autenticar(AutenticacaoRequisicaoViewModel dados)
        {
            var result = new AutenticacaoRespostaViewModel();

            try
            {
                result = await usuarioService.Autenticar(dados);

                if (dados.ValidationResult.Errors.Count > 0)
                {
                    return(CreateValidationErrorResponse(dados.ValidationResult.Errors));
                }

                if (result == null)
                {
                    return(CreateErrorResponse(ResourceMessages.LOGIN_INCORRETO, 401));
                }
            }
            catch (Exception ex)
            {
                CreateServerErrorResponse(ex, null);
            }

            return(CreateResponse(result));
        }
Пример #3
0
        public async Task AutenticarUsuario_Validar_DeveRetornarErro(string email)
        {
            // Arrange
            var autenticacao = new AutenticacaoRequisicaoViewModel {
                Email = email,
                Senha = string.Empty
            };

            // Act
            var service    = new UsuarioService(_mapper.Object, _mockusuario.Object, _mockSecurity.Object);
            var autenticar = await service.Autenticar(autenticacao);

            // Assert
            Assert.Null(autenticar);
            Assert.False(autenticacao.ValidationResult.IsValid);
        }
Пример #4
0
        public async Task AutenticarUsuario_UsuarioInvalido_RetornarNull()
        {
            // Arrange
            var autenticacaoViewModel = new AutenticacaoRequisicaoViewModel();
            var autenticacao          = new Usuario(Guid.NewGuid(), "Guilherme", "*****@*****.**", "123456");

            // Act
            var mapper = new Mock <IMapper>();
            var mock   = new Mock <IUsuarioRepository>();

            mapper.Setup(c => c.Map <Usuario>(autenticacaoViewModel)).Returns(autenticacao);
            mock.Setup(c => c.ObterPorEmailESenha(autenticacao)).Returns(Task.FromResult <Usuario>(null));

            var service    = new UsuarioService(mapper.Object, mock.Object, _mockSecurity.Object);
            var autenticar = await service.Autenticar(autenticacaoViewModel);

            // Assert
            Assert.Null(autenticar);
        }
Пример #5
0
        public async Task <AutenticacaoRespostaViewModel> Autenticar(AutenticacaoRequisicaoViewModel autenticacao)
        {
            AutenticacaoRespostaViewModel resposta;

            if (!autenticacao.EhValido())
            {
                return(null);
            }

            var usuario = await usuarioRepository.ObterPorEmailESenha(
                mapper.Map <Usuario>(autenticacao)
                );

            if (usuario == null)
            {
                return(null);
            }

            resposta       = mapper.Map <AutenticacaoRespostaViewModel>(usuario);
            resposta.Token = securityService.gerarJwtToken(mapper.Map <UsuarioDto>(usuario));

            return(resposta);
        }