コード例 #1
0
ファイル: UserRegisterer.cs プロジェクト: NemeStats/NemeStats
        public async Task<RegisterNewUserResult> RegisterUser(NewUser newUser)
        {
            ApplicationUser newApplicationUser = new ApplicationUser()
            {
                UserName = newUser.UserName,
                Email = newUser.EmailAddress,
                EmailConfirmed = true
            };

            IdentityResult identityResult = await applicationUserManager.CreateAsync(newApplicationUser, newUser.Password);

            NewlyRegisteredUser newlyRegisteredUser = new NewlyRegisteredUser
            {
                UserId = newApplicationUser.Id
            };

            if(identityResult.Succeeded)
            {
                newlyRegisteredUser = await this.SignInAndAssociateGamingGroup(newUser, newApplicationUser);
            }

            RegisterNewUserResult result = new RegisterNewUserResult
            {
                Result = identityResult,
                NewlyRegisteredUser = newlyRegisteredUser
            };

            return result;
        }
コード例 #2
0
        public async Task ItRegistersANewUserIfThereAreNoModelErrors()
        {
            RegisterNewUserResult registerNewUserResult = new RegisterNewUserResult
            {
                Result = IdentityResult.Success
            };
            userRegistererMock.Expect(mock => mock.RegisterUser(Arg<NewUser>.Is.Anything))
                              .Return(Task.FromResult(registerNewUserResult));

            ViewResult result = await accountControllerPartialMock.Register(expectedViewModel) as ViewResult;

            userRegistererMock.AssertWasCalled(mock => mock.RegisterUser(Arg<NewUser>.Matches(
                user => user.EmailAddress == expectedViewModel.EmailAddress
                    && user.UserName == expectedViewModel.UserName
                    && user.Password == expectedViewModel.Password
                    && user.GamingGroupInvitationId == new Guid(expectedViewModel.GamingGroupInvitationId))));
        }
コード例 #3
0
        public async Task ItRedirectsToTheGamingGroupPageIfTheUserIsSuccessfullyRegistered()
        {
            RegisterNewUserResult registerNewUserResult = new RegisterNewUserResult
            {
                Result = IdentityResult.Success
            };
            userRegistererMock.Expect(mock => mock.RegisterUser(Arg<NewUser>.Is.Anything))
                              .Return(Task.FromResult(registerNewUserResult));

            RedirectToRouteResult result = await accountControllerPartialMock.Register(expectedViewModel) as RedirectToRouteResult;

            Assert.AreEqual(MVC.GamingGroup.ActionNames.Index, result.RouteValues["action"]);
        }
コード例 #4
0
        public async Task ItAddsErrorsAndStaysOnThePageIfRegisteringFails()
        {
            string errorMessage = "some error message";
            IdentityResult failureIdentityResult = new IdentityResult(new string[]
            {
                errorMessage
            });
            RegisterNewUserResult registerNewUserResult = new RegisterNewUserResult
            {
                Result = failureIdentityResult
            };
            userRegistererMock.Expect(mock => mock.RegisterUser(Arg<NewUser>.Is.Anything))
                              .Return(Task.FromResult(registerNewUserResult));

            ViewResult result = await accountControllerPartialMock.Register(expectedViewModel) as ViewResult;

            Assert.AreSame(expectedViewModel, result.Model);
            Assert.AreEqual(MVC.Account.Views.Register, result.ViewName);
            Assert.True(accountControllerPartialMock.ModelState[string.Empty].Errors.Any(error => error.ErrorMessage == errorMessage));
        }