public async Task <IActionResult> Token([FromBody] CapRedV2UserLoginDTO capRedV2UserLoginDTO) { var userSignInResult = await _userService.LoginAsync(capRedV2UserLoginDTO); if (!userSignInResult.Item2.Succeeded) { return(BadRequest("Invalid Login and/or password")); } var roles = await _userService.GetRolesAsync(userSignInResult.Item1); return(new ObjectResult(GenerateToken(userSignInResult.Item1, roles, _configuration))); }
public void Validate_EmptyPassword_ReturnFalse() { //Arrange var userSignUpDTO = new CapRedV2UserLoginDTO { Password = string.Empty }; //Act var result = _validator.Validate(userSignUpDTO); //Assert Assert.IsFalse(result.Item1); StringAssert.Contains("Password is null or empty", result.Item2); }
public void Validate_ValidPassword_ReturnTrue() { //Arrange var userSignUpDTO = new CapRedV2UserLoginDTO { Password = "******" }; //Act var result = _validator.Validate(userSignUpDTO); //Assert Assert.IsTrue(result.Item1); Assert.IsEmpty(result.Item2); }
public void Validate_Null_ReturnsFalse() { //Arrange var userSignUpDTO = new CapRedV2UserLoginDTO { Email = null }; //Act var result = _validator.Validate(userSignUpDTO); //Assert Assert.IsFalse(result.Item1); StringAssert.Contains(result.Item2, "The email has an invalid format"); }
public void Validate_ValidEmail_ReturnsTrue() { //Arrange var userSignUpDTO = new CapRedV2UserLoginDTO { Email = "*****@*****.**" }; //Act var result = _validator.Validate(userSignUpDTO); //Assert Assert.IsTrue(result.Item1); Assert.IsEmpty(result.Item2); }
public async Task <Tuple <CapRedV2User, SignInResult> > LoginAsync(CapRedV2UserLoginDTO capRedV2UserLoginDTO) { _loginValidatorEngine.Validate(capRedV2UserLoginDTO); var user = await _userManager.FindByNameAsync(capRedV2UserLoginDTO.Email); if (user == null || !await _userManager.CheckPasswordAsync(user, capRedV2UserLoginDTO.Password)) { throw new BusinessValidationException("Invalid Login and/or password"); } var signInResult = await _signInManager.PasswordSignInAsync(user, capRedV2UserLoginDTO.Password, true, false); return(new Tuple <CapRedV2User, SignInResult>(user, signInResult)); }
public void LoginAsync_ValidEmailAndPassword_ReturnSignInResult() { //Arrange var capRedV2LoginDTO = new CapRedV2UserLoginDTO { Email = ValidUser.Email, Password = ValidPassword }; //Act var response = _service.LoginAsync(capRedV2LoginDTO).Result; //Assert Assert.IsNotNull(response); Assert.AreEqual(ValidUser, response.Item1); Assert.AreEqual(SignInResult.Success, response.Item2); }
public void LoginAsync_InvalidEmailAndPassword_ThrowBusinessValidationException() { //Arrange var capRedV2LoginDTO = new CapRedV2UserLoginDTO { Email = InvalidUser.Email, Password = InvalidPassword }; //Act var ex = Assert.Throws <AggregateException>(() => { // ReSharper disable once UnusedVariable var result = _service.LoginAsync(capRedV2LoginDTO).Result; }); //Assert Assert.IsNotNull(ex); Assert.IsNotNull(ex.InnerException); Assert.IsInstanceOf <BusinessValidationException>(ex.InnerException); StringAssert.Contains("Invalid Login and/or password", ex.InnerException.Message); }