Esempio n. 1
0
        public ActionResult Register(RegisterViewModel model)
        {
            var registeringEnabled = ConfigurationManager.AppSettings["RegisterEnabled"];

            if (registeringEnabled == "true")
            {
                if (ModelState.IsValid)
                {
                    var user = SimpleFactories.GetUserFromRegisterViewModel(model);

                    var result = UserService.RegisterUser(user);
                    if (result.Status)
                    {
                        UserService.SignIn(model.UserName, false);
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        for (int i = 0; i < result.ErrorCodes.Count; i++)
                        {
                            ModelState.AddModelError("", RegisterResult.GetErrorMessage(result.ErrorCodes[i]));
                        }
                    }
                }

                return(View(model));
            }
            else
            {
                ModelState.AddModelError("", "Регистирањето е оневозможено. Обидете се подоцна");
                return(View(model));
            }
        }
Esempio n. 2
0
        public void Register_Should_Return_ErrorCodes_For_Duplicate_Email()
        {
            //Arrange
            var repository = new TestUserRepository();
            var service    = new UserService(repository);

            var model = new User()
            {
                UserName = "******",
                Password = "******",

                Email = "*****@*****.**"
            };

            //Act
            var result = service.RegisterUser(model);

            //Assert
            Assert.IsFalse(result.Status);
            Assert.IsTrue(result.ErrorCodes.Count == 1);
            Assert.AreEqual((RegisterResult.GetErrorMessage(result.ErrorCodes[0])), RegisterResult.GetErrorMessage(RegisterErrorCodes.EmailAlreadyTaken));
        }
Esempio n. 3
0
        public void RegisterPost_Action_ShouldDisplay_ErrorMessage_ForTaken_Username()
        {
            // Arrange
            var model = new RegisterViewModel()
            {
                UserName      = "******",
                Password      = "******",
                PasswordAgain = "password",
                Email         = "*****@*****.**"
            };

            var service    = new SignIn_Register_UserServiceMock();
            var controller = new UserController(service, null);

            // Act
            var result = controller.Register(model) as ViewResult;

            // Assert
            Assert.IsNotNull(result, "Expected View as Result");
            Assert.IsTrue(result.ViewData.ModelState.Count > 0, "Expecter Erros in Model");
            string errorEx = result.ViewData.ModelState[""].Errors[0].ErrorMessage;

            Assert.AreEqual(errorEx, RegisterResult.GetErrorMessage(RegisterErrorCodes.UsernameAlreadyTaken), "Expecter Correct Error Message");
        }