Пример #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));
        }