Esempio n. 1
0
		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));
		}
Esempio n. 2
0
		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);
		}
Esempio n. 3
0
		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"));
		}
Esempio n. 4
0
		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));
		}