public void GivenAResendVerificationCodeAction_WhenTheModelStateIsNotValid_ThenRendersTheDefaultView()
        {
            // Arrange
            var controller = new AccountController(CurrentUserManagerMock.Object, CurrentSignInManagerMock.Object);
            // Act
            var model = new ResendVerifyCodeViewModel();

            controller.ModelState.AddModelError("", "Some kind of error");
            controller.WithCallTo(c => c.ResendVerificationCode(model))
            // Assert
            .ShouldRenderDefaultView();
        }
        public void GivenAResendVerificationCodeAction_WhenTheModelStateIsValid_ThenItRedirectsToVerifyRegsitrationCode()
        {
            // Arrange
            var controller = new AccountController(CurrentUserManagerMock.Object, CurrentSignInManagerMock.Object);
            // Act
            var model = new ResendVerifyCodeViewModel()
            {
                Email = "*****@*****.**",
            };

            controller.WithCallTo(c => c.ResendVerificationCode(model))
            // Assert
            .ShouldRedirectTo <AccountController>(c => c.VerifyRegistrationCode(new VerifyCodeViewModel()));
        }
Example #3
0
        public async Task <ActionResult> ResendVerificationCode(ResendVerifyCodeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await UserManager.FindByEmailAsync(model.Email);

            if (user == null)
            {
                ModelState.AddModelError("", ApplicationMessages.UserNotFoundForGivenEmail);
                return(View(model));
            }
            if (user.PhoneNumberConfirmed)
            {
                ModelState.AddModelError("", ApplicationMessages.UserAlreadyConfirmed);
                return(View(model));
            }

            //await UserManager.RequestPhoneNumberConfirmationTokenAsync(user.Id);
            return(RedirectToAction("VerifyRegistrationCode", new { message = ApplicationMessages.VerificationCodeResent }));
        }