public async Task <IActionResult> Signup([FromBody] UserUpsertion user) { try { var loginUser = new DbUser { UserName = user.MailId, Email = user.MailId, }; var result = await _userManager.CreateAsync(loginUser, user.Password); if (result.Succeeded) { HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.StatusCode = HttpStatusCode.Created; return(Created(string.Empty, httpResponseMessage)); } var errorStr = ""; foreach (IdentityError error in result.Errors) { errorStr += error.Description; } throw new LoginException(errorStr); } catch (LoginException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public void When_signup_method_is_called_with_failure_result_then_return_bad_request() { UserUpsertion userUpsertion = new UserUpsertion(); userUpsertion.Name = "V"; userUpsertion.MailId = "*****@*****.**"; userUpsertion.Password = "******"; _userManagerMock.Setup(x => x.CreateAsync(It.IsAny <IdentityUser>(), "123")).Returns(Task.FromResult(IdentityResult.Failed(new IdentityError()))); // Act var response = _loginController.Signup(userUpsertion); var objectResult = response.Result as ObjectResult; //// Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest); }
public void When_signup_method_is_called_with_empty_parameters_then_return_bad_request(string name, string mailId, string password) { UserUpsertion userUpsertion = new UserUpsertion(); userUpsertion.Name = name; userUpsertion.MailId = mailId; userUpsertion.Password = password; _userManagerMock.Setup(x => x.CreateAsync(It.IsAny <IdentityUser>(), userUpsertion.Password)). Returns(Task.FromResult(IdentityResult.Failed(new IdentityError()))); // Act var response = _loginController.Signup(userUpsertion); var objectResult = response.Result as ObjectResult; //// Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest); }
public void When_signup_method_is_called_with_create_async_user_method_returning_null_then_throw_server_error() { UserUpsertion userUpsertion = new UserUpsertion(); userUpsertion.Name = "V"; userUpsertion.MailId = "*****@*****.**"; userUpsertion.Password = "******"; _userManagerMock.Setup(x => x.CreateAsync(It.IsAny <IdentityUser>(), "123")).Returns(Task.FromResult((IdentityResult)null)); // Act var response = _loginController.Signup(userUpsertion); var objectResult = response.Result as ObjectResult; //// Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.InternalServerError); }
public void When_signup_method_is_called_with_data_then_return_created_status_code() { // Arrange UserUpsertion userUpsertion = new UserUpsertion(); userUpsertion.Name = "User1"; userUpsertion.MailId = "*****@*****.**"; userUpsertion.Password = "******"; _userManagerMock.Setup(x => x.CreateAsync(It.IsAny <IdentityUser>(), userUpsertion.Password)). Returns(Task.FromResult(IdentityResult.Success)); // Act var response = _loginController.Signup(userUpsertion); ObjectResult objectResult = response.Result as ObjectResult; //// Assert Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.Created); }