Exemplo n.º 1
0
        public void Test_UserAdminUpdate_Validate()
        {
            var value = new UserAdminUpdate();

            value.Validate();

            Assert.AreEqual(4, value.Errors.Count, "Errors");
        }
Exemplo n.º 2
0
        public void Test_UserAdminUpdate()
        {
            var value = new UserAdminUpdate(
                new User
                {
                    Id = 1,
                    Name = "test",
                    Title = "test2",
                    EmailAddress = "*****@*****.**",
                    Signature = "test3",
                    IsProtected = true,
                    Status = UserStatus.Activated,
                    Preference = new UserPreference
                    {
                        Dst = UserPreferenceDaylightSavingTime.Auto,
                        StartOfWeek = UserPreferenceStartOfWeek.Monday,
                        TimeFormat = UserPreferenceTimeFormat.Basic,
                        Country = new Country { Id = 1 },
                        TimeZone = new TimeZone { Id = 1 }
                    }
                }
            );

            Assert.AreEqual(1, value.Id, "Id");
            Assert.AreEqual(1, value.CountryId, "CountryId");
            Assert.AreEqual(1, value.TimeZoneId, "TimeZoneId");
            Assert.AreEqual("test", value.Name, "Name");
            Assert.AreEqual("test2", value.Title, "Title");
            Assert.AreEqual("*****@*****.**", value.EmailAddress, "EmailAddress");
            Assert.AreEqual("*****@*****.**", value.VerifyEmailAddress, "VerifyEmailAddress");
            Assert.AreEqual("*****@*****.**", value.CurrentEmailAddress, "CurrentEmailAddress");
            Assert.AreEqual("test3", value.Signature, "Signature");
            Assert.IsTrue(value.IsProtected, "IsProtected");
            Assert.AreEqual(UserStatus.Activated, value.Status, "Status");
            Assert.AreEqual(UserPreferenceDaylightSavingTime.Auto, value.Dst, "Dst");
            Assert.AreEqual(UserPreferenceStartOfWeek.Monday, value.StartOfWeek, "StartOfWeek");
            Assert.AreEqual(UserPreferenceTimeFormat.Basic, value.TimeFormat, "TimeFormat");
        }
Exemplo n.º 3
0
        public ActionResult Create(UserAdminCreate value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var user = this.UserService.Create();
            var privilege = new UserPrivilege();

            if (!privilege.CanCreate(user))
            {
                return NotAuthorized();
            }

            value.Validate();

            if (value.IsValid)
            {
                value.ValueToModel(user);

                this.UserService.Insert(user, value.Preference);

                var model = new UserAdminUpdate(user);

                model.SuccessMessage(Messages.UserCreated.FormatInvariant(user.Name));

                return base.View(Views.Update, model);
            }

            value.CopyToModel(ModelState);

            return base.View(Views.Create, value);
        }
Exemplo n.º 4
0
        public ActionResult Update(UserAdminUpdate value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var user = this.UserService.GetById(value.Id);

            if (user == null)
            {
                return HttpNotFound();
            }

            var privilege = new UserPrivilege();

            if (!privilege.CanUpdateAny(user))
            {
                return NotAuthorized();
            }

            value.Validate();

            if (value.IsValid)
            {
                // value to user
                value.ValueToModel(user);

                // update user
                this.UserService.Update(user);

                // update password if needed
                if (!string.IsNullOrEmpty(value.Password))
                {
                    this.AuthenticationService.Update(user, value.Password);
                }

                // preference
                var preference = user.Preference;

                // value to preference
                value.ValueToPreference(preference);

                // update user preference
                this.UserService.UpdatePreference(preference);

                value.SuccessMessage(Messages.UserUpdated.FormatInvariant(user.Name));
            }
            else
            {
                value.CopyToModel(ModelState);
            }

            return base.View(Views.Update, value);
        }
Exemplo n.º 5
0
        public ActionResult Reset(UserAuthenticationReset value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var user = this.UserService.GetById(value.Id);

            if (user == null)
            {
                return HttpNotFound();
            }

            var privilege = new UserPrivilege();

            if (!privilege.CanUpdateAny(user))
            {
                return NotAuthorized();
            }

            value.Validate();

            if (value.IsValid)
            {
                this.AuthenticationService.Reset(user);

                var model = new UserAdminUpdate(user);

                model.SuccessMessage(Messages.UserPasswordReset.FormatInvariant(user.Name));

                return base.View(Views.Update, model);
            }

            value.CopyToModel(ModelState);

            value.Initialize(user);

            return base.View(Views.Reset, value);
        }
Exemplo n.º 6
0
        public void Test_UserAdminUpdate_ValueToModel()
        {
            var value = new UserAdminUpdate
            {
                Name = "test",
                Title = "test2",
                EmailAddress = "*****@*****.**",
                Signature = "test3",
                IsProtected = true,
                Status = UserStatus.Activated
            };

            var user = new User();

            value.ValueToModel(user);

            Assert.AreEqual("test", user.Name, "Name");
            Assert.AreEqual("test2", user.Title, "Title");
            Assert.AreEqual("*****@*****.**", user.EmailAddress, "EmailAddress");
            Assert.AreEqual("test3", user.Signature, "Signature");
            Assert.IsTrue(user.IsProtected, "IsProtected");
            Assert.AreEqual(UserStatus.Activated, user.Status, "Status");
        }
Exemplo n.º 7
0
        public void Test_UserAdminUpdate_ValueToPreference()
        {
            var value = new UserAdminUpdate
            {
                CountryId = 1,
                TimeZoneId = 1,
                Dst = UserPreferenceDaylightSavingTime.Auto,
                StartOfWeek = UserPreferenceStartOfWeek.Monday,
                TimeFormat = UserPreferenceTimeFormat.Basic
            };

            var preference = new UserPreference();

            value.ValueToPreference(preference);

            Assert.AreEqual(UserPreferenceDaylightSavingTime.Auto, preference.Dst, "Dst");
            Assert.AreEqual(UserPreferenceStartOfWeek.Monday, preference.StartOfWeek, "StartOfWeek");
            Assert.AreEqual(UserPreferenceTimeFormat.Basic, preference.TimeFormat, "TimeFormat");
        }
Exemplo n.º 8
0
        public void Test_HomeController_Update_Post()
        {
            PrincipalHelper.Create();

            var value = new UserAdminUpdate
            {
                Id = 0,
                Name = "test",
                CurrentName = "test",
                EmailAddress = "*****@*****.**",
                VerifyEmailAddress = "*****@*****.**",
                CurrentEmailAddress = "*****@*****.**"
            };

            var notFoundResult = this.HomeController.Update(value) as HttpNotFoundResult;

            Assert.IsNotNull(notFoundResult, "HttpNotFoundResult");

            value.Id = 1;

            var viewResult = this.HomeController.Update(value) as ViewResult;

            Assert.IsNotNull(viewResult, "ViewResult");
            Assert.AreEqual(Views.Update, viewResult.ViewName, "ViewName");
            Assert.AreEqual(Messages.UserUpdated.FormatInvariant(value.Name), value.Message.Message);

            value.Name = null;

            var errorResult = this.HomeController.Update(value) as ViewResult;

            Assert.IsNotNull(errorResult, "ErrorResult");
            Assert.AreEqual(Views.Update, viewResult.ViewName, "ErrorViewName");
            Assert.AreEqual(2, value.Errors.Count, "Errors");

            PrincipalHelper.Clear();

            var notAuthorizedResult = this.HomeController.Update(value) as NotAuthorizedResult;

            Assert.IsNotNull(notAuthorizedResult, "NotAuthorizedResult");
        }