public void Forgot_Password_Returns_Error_For_Invalid_User()
        {
            MembershipUserWrapper membershipUser = null;
            _memberShipMock.Setup(x => x.GetUser(_userInformationView.UserName, false)).Returns(membershipUser);

            var accountController = new AccountController(_memberShipMock.Object);
            ActionResult result = accountController.ForgotPassword(_userInformationView.UserName, "");

            Assert.That(((ViewResult)result).ViewData.Model, Is.TypeOf<UserInformationView>());
            Assert.That(accountController.ViewBag.PageTitle, Is.EqualTo("Forgot Password"));
            Assert.That(accountController.ViewBag.ErrorMessage, Is.EqualTo("The user you have specified is invalid, please recheck your username and try again"));
            Assert.That(((UserInformationView)((ViewResult)result).ViewData.Model).SecretQuestion, Is.EqualTo(string.Empty));
        }
        public void Forgot_Password_Presents_UserInformation_View()
        {
            var accountController = new AccountController(_memberShipMock.Object);
            ViewResult result = accountController.ForgotPassword();

            Assert.That(result.ViewData.Model, Is.TypeOf<UserInformationView>());
            Assert.That(accountController.ViewBag.PageTitle, Is.EqualTo("Forgot Password"));
        }
        public void Forgot_Password_Redirects_To_ChangePassword_For_Correct_Answer()
        {
            _memberShipMock.Setup(x => x.ResetPassword(_userInformationView.UserName, "secretAnswer")).Returns("gennedpwd");
            _memberShipMock.Setup(x => x.ValidateUser(_userInformationView.UserName, "gennedpwd")).Returns(true);

            var accountController = new AccountController(_memberShipMock.Object);

            ActionResult result = accountController.ForgotPassword(_userInformationView.UserName, "secretAnswer");
            Assert.That(result, Is.TypeOf<RedirectToRouteResult>());
        }
        public void Forgot_Password_Fetches_Hint_Question_For_A_Valid_User()
        {
            var membershipUser = new MembershipUserWrapper { SecretQuestion = "Q1" };
            _memberShipMock.Setup(x => x.GetUser(_userInformationView.UserName, false)).Returns(membershipUser);

            var accountController = new AccountController(_memberShipMock.Object);
            ActionResult result = accountController.ForgotPassword(_userInformationView.UserName, "");

            Assert.That(((ViewResult)result).ViewData.Model, Is.TypeOf<UserInformationView>());
            Assert.That(accountController.ViewBag.PageTitle, Is.EqualTo("Forgot Password"));
            Assert.That(((UserInformationView)((ViewResult)result).ViewData.Model).SecretQuestion, Is.EqualTo("Q1"));
        }