public void PasswordResetRequest_Success() { var model = new UserAccount.PasswordResetRequestModel { EmailAddress = "*****@*****.**", UserName = "******" }; var item = new User { Username = model.UserName, EmailAddress = model.EmailAddress, FirstName = "Joe", LastName = "Bloggs", FullName = "Joe Bloggs" }; _userRepository.Setup(_ => _.Find(It.IsAny <Expression <Func <User, bool> > >())) .Returns(new List <User> { item }.AsQueryable()); var token = "token"; _authentication.Setup(_ => _.GeneratePasswordResetToken(model.UserName, It.IsAny <int>())) .Returns(token); var result = _service.PasswordResetRequest(model); Assert.True(result.IsSuccess); Assert.Equal(token, result.Data); _authentication.Verify(_ => _.GeneratePasswordResetToken(model.UserName, It.IsAny <int>()), Times.Once); _mailer.Verify(_ => _.SendEmail(Dictionary.PasswordResetTitle, It.IsAny <string>(), model.EmailAddress, "Joe Bloggs", It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>()), Times.Once); }
public void PasswordResetRequest_Fail() { var passwordResetRequestModel = new UserAccount.PasswordResetRequestModel { EmailAddress = "*****@*****.**", UserName = "******" }; var result = _service.PasswordResetRequest(passwordResetRequestModel); Assert.False(result.IsSuccess); Assert.Contains(Dictionary.InvalidUsernameError, result.Errors.Select(_ => _.ErrorMessage)); }
public ActionResult PasswordResetRequest(UserAccount.PasswordResetRequestModel model) { if (ModelState.IsValid) { var result = _accountService.PasswordResetRequest(model); if (result.IsSuccess) { return(RedirectToAction("PasswordResetEmailSent", "Account", new { userName = model.UserName, result.Data })); } return(RedirectToAction("ResetPasswordFailed")); } return(View(model)); }