public void Invalid_password_fails_validation(string password, string expectedError) { var formData = new ResetPasswordFormData { NewPassword = password }; Assert.Contains(ValidateModel(formData), v => v.MemberNames.Contains(nameof(ResetPasswordFormData.NewPassword)) && v.ErrorMessage.ToUpperInvariant() == expectedError); }
public void Valid_password_passes_validation() { var formData = new ResetPasswordFormData { NewPassword = "******" }; Assert.DoesNotContain(ValidateModel(formData), v => v.MemberNames.Contains(nameof(ResetPasswordFormData.NewPassword)) && v.ErrorMessage.ToUpperInvariant() == "THE NEW PASSWORD IS REQUIRED."); }
public void Valid_token_attempts_login() { using (var controller = CreateController()) { SetupValidTokenScenario(); var model = new ResetPasswordFormData { NewPassword = "******" }; var result = controller.UpdatePassword(model); _loginMemberWrapper.Verify(x => x.LoginMember(_currentMember.Object.Username, model.NewPassword), Times.Once); } }
public void Valid_token_is_logged() { using (var controller = CreateController()) { SetupValidTokenScenario(); var model = new ResetPasswordFormData { NewPassword = "******" }; var result = controller.UpdatePassword(model); _logger.Verify(x => x.Info(typeof(ResetPasswordSurfaceController), LoggingTemplates.MemberPasswordReset, _currentMember.Object.Username, _currentMember.Object.Key, typeof(ResetPasswordSurfaceController), nameof(ResetPasswordSurfaceController.UpdatePassword)), Times.Once); } }
public void Valid_token_resets_password() { using (var controller = CreateController()) { SetupValidTokenScenario(); var model = new ResetPasswordFormData { NewPassword = "******" }; var result = controller.UpdatePassword(model); base.MemberService.Verify(x => x.SavePassword(_currentMember.Object, model.NewPassword), Times.Once); } }
public void Valid_token_does_not_attempt_login_if_member_blocked() { using (var controller = CreateController()) { SetupValidTokenScenario(); _currentMember.Setup(x => x.GetValue <bool>("blockLogin", null, null, false)).Returns(true); var model = new ResetPasswordFormData { NewPassword = "******" }; var result = controller.UpdatePassword(model); _loginMemberWrapper.Verify(x => x.LoginMember(_currentMember.Object.Username, model.NewPassword), Times.Never); } }
public void Invalid_ModelState_does_not_save() { using (var controller = CreateController()) { var model = new ResetPasswordFormData { NewPassword = "******" }; controller.ModelState.AddModelError(string.Empty, "Any error"); controller.UpdatePassword(model); MemberService.Verify(x => x.Save(_currentMember.Object, true), Times.Never); MemberService.Verify(x => x.SavePassword(_currentMember.Object, model.NewPassword), Times.Never); } }
public override void Execute() { #line 6 "..\..\Views\ResetPassword.cshtml" Html.EnableClientValidation(); Html.EnableUnobtrusiveJavaScript(); Html.RequiresJs("~/scripts/jquery.validate.min.js"); Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.min.js"); #line default #line hidden WriteLiteral("\r\n<div"); WriteLiteral(" class=\"container-xl\""); WriteLiteral(">\r\n <h1>"); #line 13 "..\..\Views\ResetPassword.cshtml" Write(Model.Name); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 15 "..\..\Views\ResetPassword.cshtml" #line default #line hidden #line 15 "..\..\Views\ResetPassword.cshtml" if (User.Identity.IsAuthenticated) { #line default #line hidden #line 17 "..\..\Views\ResetPassword.cshtml" Write(Html.Partial("_Logout")); #line default #line hidden #line 17 "..\..\Views\ResetPassword.cshtml" } else { #line default #line hidden #line 21 "..\..\Views\ResetPassword.cshtml" if (Model.PasswordResetTokenValid) { #line default #line hidden #line 24 "..\..\Views\ResetPassword.cshtml" using (Html.BeginUmbracoForm <ResetPasswordSurfaceController>("UpdatePassword")) { #line default #line hidden #line 27 "..\..\Views\ResetPassword.cshtml" Write(Html.AntiForgeryToken()); #line default #line hidden #line 27 "..\..\Views\ResetPassword.cshtml" var resetPasswordUpdate = new ResetPasswordFormData(); #line default #line hidden WriteLiteral(" <div"); WriteLiteral(" class=\"form-group\""); WriteLiteral(">\r\n"); WriteLiteral(" "); #line 31 "..\..\Views\ResetPassword.cshtml" Write(Html.LabelFor(m => resetPasswordUpdate.NewPassword, "New password")); #line default #line hidden WriteLiteral("\r\n"); #line 32 "..\..\Views\ResetPassword.cshtml" #line default #line hidden #line 32 "..\..\Views\ResetPassword.cshtml" var describedBy = "form-new-password"; #line default #line hidden WriteLiteral("\r\n"); #line 33 "..\..\Views\ResetPassword.cshtml" #line default #line hidden #line 33 "..\..\Views\ResetPassword.cshtml" if (!string.IsNullOrEmpty(Model.PasswordHelp)) { describedBy = "form-new-password form-new-password-help"; #line default #line hidden WriteLiteral(" <p"); WriteLiteral(" class=\"form-text\""); WriteLiteral(" id=\"form-new-password-help\""); WriteLiteral("><small>"); #line 36 "..\..\Views\ResetPassword.cshtml" Write(Model.PasswordHelp); #line default #line hidden WriteLiteral("</small></p>\r\n"); #line 37 "..\..\Views\ResetPassword.cshtml" } #line default #line hidden WriteLiteral(" "); #line 38 "..\..\Views\ResetPassword.cshtml" Write(Html.PasswordFor(m => resetPasswordUpdate.NewPassword, new { @class = "form-control", required = "required", aria_describedby = describedBy, autocorrect = "off", autocapitalize = "off", autocomplete = "new-password" })); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 39 "..\..\Views\ResetPassword.cshtml" Write(Html.ValidationMessageFor(m => resetPasswordUpdate.NewPassword, null, new { id = "form-new-password" })); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 41 "..\..\Views\ResetPassword.cshtml" #line default #line hidden WriteLiteral(" <button"); WriteLiteral(" class=\"btn btn-primary\""); WriteLiteral(">"); #line 42 "..\..\Views\ResetPassword.cshtml" Write(Model.UpdatePasswordButton); #line default #line hidden WriteLiteral("</button>\r\n"); #line 43 "..\..\Views\ResetPassword.cshtml" } } else { #line default #line hidden #line 47 "..\..\Views\ResetPassword.cshtml" #line default #line hidden #line 48 "..\..\Views\ResetPassword.cshtml" Write(Html.ProtectEmailAddresses(Model.PasswordResetTokenInvalid)); #line default #line hidden #line 48 "..\..\Views\ResetPassword.cshtml" } } #line default #line hidden WriteLiteral("</div>"); }