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