public async Task Register_ShouldReturnBadRequest_whenInvalidUser() { mapper.Execute(); var usersMock = new Mock <IUsersService>(); usersMock.Setup(x => x.IsCompanyAndBulstatCompatibiltyValid(It.IsAny <User>())).Returns(false); AccountRegisterBindingModel request = new AccountRegisterBindingModel() { IsCompany = false, Bulstat = "1234" }; var controller = new AccountController(usersMock.Object, null, null, null); var result = await controller.Register(request); Assert.IsInstanceOfType(result, typeof(BadRequestErrorMessageResult)); string responseMessage = ((BadRequestErrorMessageResult)result).Message; Assert.IsTrue(responseMessage.Contains(GlobalConstants.InvalidCompanyBulstatCombination)); usersMock.VerifyAll(); usersMock.Verify(m => m.IsCompanyAndBulstatCompatibiltyValid(It.Is <User>(x => x.Bulstat == "1234"))); }
public async Task Register_ShouldReturnOkResult_WhenUpdateContactInfoSucceded() { mapper.Execute(); string testPassword = "******"; string testBulstat = "1234"; var usersMock = new Mock <IUsersService>(); usersMock.Setup(x => x.IsCompanyAndBulstatCompatibiltyValid(It.IsAny <User>())).Returns(true); var userStore = new Mock <IUserStore <User> >(); var userManagerMock = new Mock <ApplicationUserManager>(userStore.Object); userManagerMock.Setup(x => x.CreateAsync(It.IsAny <User>(), testPassword)) .Returns(Task.FromResult(IdentityResult.Success)); AccountRegisterBindingModel request = new AccountRegisterBindingModel() { IsCompany = false, Bulstat = testBulstat, Password = testPassword }; var controller = new AccountController(usersMock.Object, null, null, userManagerMock.Object, null, null); var result = await controller.Register(request); Assert.IsInstanceOfType(result, typeof(OkResult)); userManagerMock.VerifyAll(); usersMock.VerifyAll(); usersMock.Verify(m => m.IsCompanyAndBulstatCompatibiltyValid(It.Is <User>(x => x.Bulstat == testBulstat))); }
public async Task <IHttpActionResult> Register(AccountRegisterBindingModel userModel) { var userEntity = _userFactory.GetModel(userModel); var user = (User)userEntity; IdentityResult registerResult = await _userManager.CreateAsync(user, userModel.Password); if (!registerResult.Succeeded) { return(GetErrorResult(registerResult)); } await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account."); var userDto = _userFactory.GetModel <RegisteredUserDto>(userEntity); Uri locationHeader = new Uri(Url.Link("GetUser", new { id = user.Id })); return(Created(locationHeader, userDto)); }
public async Task <IActionResult> Register([FromForm] AccountRegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetFirstError())); } var user = Mapper.Map <ApplicationUser>(model); var result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (userManager.Users.Count() == 1) { await userManager.AddToRoleAsync(user, GlobalConstants.AdministratorRoleName); } return(Ok()); } return(BadRequest(result.GetFirstError())); }
public async Task <IHttpActionResult> Register(AccountRegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { IHttpActionResult result; var user = this.Mapper.Map <User>(model); if (!users.IsCompanyAndBulstatCompatibiltyValid(user)) { result = BadRequest(GlobalConstants.InvalidCompanyBulstatCombination); } else if (!string.IsNullOrEmpty(user.Bulstat) && !users.IsBulstatValid(user.Bulstat)) { result = BadRequest(GlobalConstants.InvalidBulstat); } else { user.UserName = user.Email; IdentityResult resultCreation = await UserManager.CreateAsync(user, model.Password); result = !resultCreation.Succeeded ? GetErrorResult(resultCreation) : this.Ok(); } return(result); } catch (Exception e) { HandlExceptionLogging(e, "", controllerName); return(InternalServerError()); } }
public async Task <IActionResult> Register(AccountRegisterBindingModel model) { if (ModelState.IsValid) { IdentityUser user = new IdentityUser { UserName = model.Username, Email = model.Email, }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(this.Redirect("/Account/Login")); } else { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } } return(View()); }