public void EditUser_IsNotNewUser()
        {
            var model = new EditUserViewModel();

             Assert.IsFalse( model.IsNewUser );
        }
        public void Password_IsNotRequired()
        {
            var model = new EditUserViewModel();

             Assert.IsNull( AttributeHelper.GetRequiredAttribute( () => model.NewPassword ) );
        }
Пример #3
0
        public void EditPost_UpdatesUserIfModelValid()
        {
            var user = Users.ModelData.ToArray()[2];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             model.FirstName += " Modified";
             _controller.Edit( model );

             _session.Clear();
             var item = _session.Get<User>( model.Id );
             Assert.AreEqual( model.FirstName, item.FirstName );
        }
Пример #4
0
        public ActionResult Edit( EditUserViewModel viewModel )
        {
            var session = _sessionFactory.GetCurrentSession();
             using (var transaction = session.BeginTransaction())
             {
            try
            {
               viewModel.Mode = EditMode.Edit;
               if (ModelState.IsValid)
               {
                  var model = Mapper.Map<User>( viewModel );
                  if (model.IsValidFor( Data.TransactionType.Update ))
                  {
                     session.Update( model );
                     transaction.Commit();
                     return RedirectToAction( "Index" );
                  }
                  else
                  {
                     foreach (var message in model.GetErrorMessages())
                     {
                        ModelState.AddModelError( message.Key, message.Value );
                     }
                  }
               }
               transaction.Commit();
            }
            catch (Exception e)
            {
               Log.Error( e, "Edit POST Error" );
               transaction.Rollback();
            }

            return View( viewModel );
             }
        }
Пример #5
0
        public void EditPost_ReturnsToEditorModeEdit_IfModelIsNotValid()
        {
            var user = Users.ModelData.ToArray()[2];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             _controller.ModelState.AddModelError( "Test", "This is an error" );
             var result = _controller.Edit( model ) as ViewResult;
             var vm = result.Model as UserEditorViewModel;

             Assert.AreEqual( model.Id, vm.Id );
             Assert.AreEqual( EditMode.Edit, vm.Mode );
        }
Пример #6
0
        public void EditPost_RedirectsToEditorModeReadOnly_IfModelIsValid()
        {
            var user = Users.ModelData.ToArray()[2];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             var result = _controller.Edit( model ) as RedirectToRouteResult;

             Assert.IsNotNull( result );
             Assert.AreEqual( 1, result.RouteValues.Count );

             object value;
             result.RouteValues.TryGetValue( "action", out value );
             Assert.AreEqual( "Index", value.ToString() );
        }
Пример #7
0
        public void EditPost_DoesNotSaveModelIfModelIsNotValid()
        {
            var user = Users.ModelData.ToArray()[2];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             var origFirstName = model.FirstName;
             model.FirstName += " Modified";
             _controller.ModelState.AddModelError( "Test", "This is an error" );
             _controller.Edit( model );

             _session.Clear();
             var item = _session.Get<User>( model.Id );
             Assert.AreEqual( origFirstName, item.FirstName );
             Assert.AreNotEqual( model.FirstName, item.FirstName );
        }
Пример #8
0
        public void EditPost_DoesNotCopyMessagesToModelStateIfValidatorReturnsTrue()
        {
            var user = Users.ModelData.ToArray()[3];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             var result = _controller.Edit( model );

             Assert.AreEqual( 0, _controller.ModelState.Count );
        }
Пример #9
0
        public void EditPost_CopiesMessagesToModelStateIfValidationFails()
        {
            var user = Users.ModelData.ToArray()[3];
             var model = new EditUserViewModel()
             {
            Id = user.Id,
            UserName = user.UserName,
            FirstName = user.FirstName,
            LastName = user.LastName,
            MiddleName = user.MiddleName,
            IsActive = (user.StatusCd == 'A')
             };

             model.FirstName = "";
             var result = _controller.Edit( model );

             Assert.AreEqual( 1, _controller.ModelState.Count );
             Assert.IsTrue( _controller.ModelState.ContainsKey( "FirstName" ) );
             Assert.IsTrue( result is ViewResult );
        }