public void When_signin_method_is_called_with_exception_throwing_method_then_return_bad_request() { // Arrange LoginUserUpsertion loginUserUpsertion = new LoginUserUpsertion(); loginUserUpsertion.MailId = "*****@*****.**"; loginUserUpsertion.Password = "******"; _userManagerMock.Setup(x => x.FindByEmailAsync(It.IsAny <string>())). Returns(Task.FromResult(new IdentityUser())); _signInManagerMock.Setup(x => x.CheckPasswordSignInAsync(It.IsAny <IdentityUser>(), It.IsAny <string>(), It.IsAny <bool>())). Returns(Task.FromResult(SignInResult.Success)); _signInManagerMock.Setup(x => x.PasswordSignInAsync(It.IsAny <IdentityUser>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())). Throws(new Exception()); // Act var response = _loginController.Signin(loginUserUpsertion); ObjectResult objectResult = response.Result as ObjectResult; // Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest); }
public void When_signin_method_with_any_other_exception_then_return_internal_server_error() { // Arrange LoginUserUpsertion loginUserUpsertion = new LoginUserUpsertion(); loginUserUpsertion.MailId = "*****@*****.**"; loginUserUpsertion.Password = "******"; _userManagerMock.Setup(x => x.FindByEmailAsync(It.IsAny <string>())). Throws(new Exception()); // Act var response = _loginController.Signin(loginUserUpsertion); ObjectResult objectResult = response.Result as ObjectResult; // Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.InternalServerError); }
public void When_signin_method_is_called_with_find_by_email_method_returning_null_then_return_bad_request_error() { // Arrange LoginUserUpsertion loginUserUpsertion = new LoginUserUpsertion(); loginUserUpsertion.MailId = "*****@*****.**"; loginUserUpsertion.Password = "******"; _userManagerMock.Setup(x => x.FindByEmailAsync(It.IsAny <string>())). Returns(Task.FromResult((IdentityUser)null)); // Act var response = _loginController.Signin(loginUserUpsertion); ObjectResult objectResult = response.Result as ObjectResult; // Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest); }
public void When_signin_method_is_called_with_wrong_format_then_return_bad_request_status_code(string emailId, string password) { // Arrange LoginUserUpsertion loginUserUpsertion = new LoginUserUpsertion(); loginUserUpsertion.MailId = emailId; loginUserUpsertion.Password = password; _userManagerMock.Setup(x => x.FindByEmailAsync(loginUserUpsertion.MailId)). Returns(Task.FromResult(new IdentityUser())); // Act var response = _loginController.Signin(loginUserUpsertion); ObjectResult objectResult = response.Result as ObjectResult; //// Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest); }
public async Task <object> Signin([FromBody] LoginUserUpsertion user) { try { var identityUser = await _userManager.FindByEmailAsync(user.MailId); if (null == identityUser) { throw new LoginException("No such user found"); } var checkPasswordResult = await _signInManager.CheckPasswordSignInAsync(identityUser, user.Password, true); if (null != checkPasswordResult && checkPasswordResult.Succeeded) { var result = await _signInManager.PasswordSignInAsync(user.MailId, user.Password, true, false); if (null != result && result.Succeeded) { User usr = new User(); usr.MailId = user.MailId; usr.Name = usr.Name; if (null != Authenticate(usr)) { return(Ok(usr)); } } } throw new LoginException("Incorrect Username / Password"); } catch (LoginException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }