public void resendconfirmation_post_should_sendemail_and_show_signupcomplete_view_and_set_tempdata() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); string email = "*****@*****.**"; _userService.AddUser(email, "test", "password", false, true); UserViewModel model = new UserViewModel(_userService.GetUser("*****@*****.**", false)); SignupEmailStub signupEmail = new SignupEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, signupEmail, null); userController.SetFakeControllerContext(); // Act ActionResult result = userController.ResendConfirmation(email); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.EqualTo("SignupComplete")); Assert.That(viewResult.TempData["resend"], Is.EqualTo(true)); Assert.That(signupEmail.IsSent, Is.EqualTo(true)); }
public void resetpassword_post_should_have_resetpasswordsent_view_and_should_send_resetpassword_email() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); string email = "*****@*****.**"; _userService.AddUser(email, "test", "test", false, true); _userService.Users.First(x => x.Email == email).IsActivated = true; ResetPasswordEmailStub resetEmail = new ResetPasswordEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, null, resetEmail); userController.SetFakeControllerContext(); // Act ActionResult result = userController.ResetPassword(email); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.EqualTo("ResetPasswordSent")); Assert.That(resetEmail.IsSent, Is.True); Assert.That(resetEmail.Model.ExistingEmail, Is.EqualTo(email)); Assert.That(resetEmail.Model.PasswordResetKey, Is.EqualTo(UserServiceMock.RESETKEY)); }
public void signup_post_should_set_modelstate_error_from_securityexception() { // Arrange Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); siteSettings.AllowUserSignup = true; SignupEmailStub signupEmail = new SignupEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); // change the signup email UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, signupEmail, null); userController.SetFakeControllerContext(); _userService.ThrowSecurityExceptionOnSignup = true; UserViewModel model = new UserViewModel(); // Act ActionResult result = userController.Signup(model, null); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.Not.EqualTo("Signup")); Assert.That(userController.ModelState.Count, Is.EqualTo(1)); Assert.That(userController.ModelState["General"].Errors[0].ErrorMessage, Is.EqualTo("ThrowSecurityExceptionOnSignup")); }
public void signup_post_should_not_send_email_with_invalid_modelstate() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); siteSettings.AllowUserSignup = true; SignupEmailStub signupEmail = new SignupEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, signupEmail, null); userController.SetFakeControllerContext(); userController.ModelState.AddModelError("key", "this is used to force ModelState.IsValid to false"); UserViewModel model = new UserViewModel(); // Act ActionResult result = userController.Signup(model, null); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.Not.EqualTo("Signup")); Assert.That(userController.ModelState.Count, Is.EqualTo(1)); Assert.That(signupEmail.IsSent, Is.False); }
public void signup_post_should_send_email() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); siteSettings.AllowUserSignup = true; SignupEmailStub signupEmail = new SignupEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, signupEmail, null); userController.SetFakeControllerContext(); UserViewModel model = new UserViewModel(); model.NewEmail = "blah@localhost"; model.Password = "******"; model.PasswordConfirmation = "password"; // Act ActionResult result = userController.Signup(model, null); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.EqualTo("SignupComplete")); Assert.That(signupEmail.IsSent, Is.True); Assert.That(signupEmail.ViewModel, Is.EqualTo(model)); }
public void resendconfirmation_post_with_invalid_email_should_show_signup_view() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); ResetPasswordEmailStub resetEmail = new ResetPasswordEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, null, resetEmail); userController.SetFakeControllerContext(); // Act ActionResult result = userController.ResendConfirmation("doesnt exist"); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.EqualTo("Signup")); }
public void resetpassword_post_should_not_send_email_with_invalid_modelstate() { // Arrange _applicationSettings.UseWindowsAuthentication = false; Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); ResetPasswordEmailStub resetEmail = new ResetPasswordEmailStub(_applicationSettings, _settingsRepository, _emailClientMock); UserController userController = new UserController(_applicationSettings, _userService, _userContext, _settingsService, null, resetEmail); userController.SetFakeControllerContext(); // Act ActionResult result = userController.ResetPassword("fake email"); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); viewResult.AssertViewRendered(); Assert.That(userController.ModelState.Count, Is.EqualTo(1)); Assert.That(resetEmail.IsSent, Is.EqualTo(false)); }
public void signup_post_should_set_modelstate_error_from_bad_recaptcha() { // Arrange Core.Configuration.SiteSettings siteSettings = _settingsService.GetSiteSettings(); siteSettings.AllowUserSignup = true; UserViewModel model = new UserViewModel(); model.NewEmail = "blah@localhost"; model.Password = "******"; model.PasswordConfirmation = "password"; // Act ActionResult result = _userController.Signup(model, false); // Assert ViewResult viewResult = result.AssertResultIs <ViewResult>(); Assert.That(viewResult.ViewName, Is.Not.EqualTo("Signup")); Assert.That(_userController.ModelState.Count, Is.EqualTo(1)); Assert.That(_userController.ModelState["General"].Errors[0].ErrorMessage, Is.EqualTo(SiteStrings.Signup_Error_Recaptcha)); }