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)));
        }
Пример #3
0
        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()));
        }
Пример #5
0
        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());
            }
        }
Пример #6
0
        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());
        }