Example #1
0
 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();
 }
Example #2
0
 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()));
 }
        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});
        }