Example #1
0
 public ActionResult Register(RegisterViewModel model, string returnUrl, bool isAjaxRequest)
 {
     if (ModelState.IsValid)
     {
         CreateUserResult status = AuthService.CreateUser(model.Email, model.DisplayName, model.Password);
         if (status == CreateUserResult.Success)
         {
             TokenService.SetAuthCookie(model.Email, createPersistentCookie: false, roles: Enumerable.Empty<string>());
             return CreateSuccessResult(returnUrl, isAjaxRequest);
         }
         else
         {
             ModelState.AddModelError("", "There is already a user with that email address.");
         }
     }
     return CreateErrorResult(model, isAjaxRequest);
 }
Example #2
0
 public ActionResult Register(string content)
 {
     var model = new RegisterViewModel();
     if (!String.IsNullOrEmpty(content))
     {
         return PartialView(model);
     }
     else
     {
         return View(model);
     }
 }
            public void WithValidModelAndUserInfoReturnsRedirectToReturnUrlIfLocal_Ajax()
            {
                // Arrange
                var model = new RegisterViewModel() { Email = "*****@*****.**", DisplayName = "Real User", Password = "******" };
                var c = CreateController();
                c.AuthService.CreateUser("*****@*****.**", "Other User", "password");

                // Act
                var result = c.Register(model, returnUrl: "/app/Foo/Bar", isAjaxRequest: true);

                // Assert
                ActionAssert.IsJsonResult(result, new { success = true, redirect = "/app/Foo/Bar" });
                Assert.True(c.AuthService.Data.Users.Where(u => u.Email == "*****@*****.**").Any());
            }
            public void WithValidModelAndUserInfoReturnsRedirectToHomeIfReturnUrlNotLocal()
            {
                // Arrange
                var model = new RegisterViewModel() { Email = "*****@*****.**", DisplayName = "Real User", Password = "******" };
                var c = CreateController();
                c.AuthService.CreateUser("*****@*****.**", "Other User", "password");

                // Act
                var result = c.Register(model, returnUrl: "http://www.microsoft.com", isAjaxRequest: false);

                // Assert
                ActionAssert.IsRedirectResult(result, "/app/Home/Index");
                Assert.True(c.AuthService.Data.Users.Where(u => u.Email == "*****@*****.**").Any());
            }
            public void WithInvalidModelReturnsError_Ajax()
            {
                // Arrange
                var c = CreateController();
                c.ModelState.AddModelError("", "Test");
                var model = new RegisterViewModel();

                // Act
                var result = c.Register(model, returnUrl: null, isAjaxRequest: true);

                // Assert
                ActionAssert.IsJsonResult(result, new { success = false, errors = new[] { "Test" } });
                Assert.Contains("Test", c.ModelState.AllErrors());
            }
            public void WithDuplicateEmailReturnsError_Ajax()
            {
                // Arrange
                var model = new RegisterViewModel() { Email = "*****@*****.**", DisplayName = "Real User", Password = "******" };
                var c = CreateController();
                c.AuthService.CreateUser("*****@*****.**", "Real User", "123456");

                // Act
                var result = c.Register(model, returnUrl: null, isAjaxRequest: true);

                // Assert
                ActionAssert.IsJsonResult(result, new { success = false, errors = new[] { "There is already a user with that email address." } });
                Assert.Contains("There is already a user with that email address.", c.ModelState.AllErrors());
            }