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 ) ); }
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 ); }
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 ); } }
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 ); }
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() ); }
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 ); }
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 ); }
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 ); }