public void SetsCommandPrincipalProperty() { const string principalIdentityName = "*****@*****.**"; var scenarioOptions = new ScenarioOptions { PrincipalIdentityName = principalIdentityName, }; var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression <Func <UpdateMyNameCommand, bool> > commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; UpdateMyNameCommand executedCommand = null; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))) .Callback((UpdateMyNameCommand command) => executedCommand = command); controller.Put(model); executedCommand.Principal.Identity.Name.ShouldEqual(scenarioOptions.PrincipalIdentityName); executedCommand.Principal.Identity.Name.ShouldEqual(principalIdentityName); }
public void ExecutesCommand_WhenAction_IsValid() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression <Func <UpdateMyNameCommand, bool> > commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); controller.Put(model); scenarioOptions.MockCommandHandler.Verify(m => m.Handle(It.Is(commandDerivedFromModel)), Times.Once()); }
public void FlashesNoChangesMessage_WhenCommand_ChangedState() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression <Func <UpdateMyNameCommand, bool> > commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); controller.Put(model); controller.TempData.ShouldNotBeNull(); var message = controller.TempData.FeedbackMessage(); message.ShouldNotBeNull(); message.ShouldEqual(UpdateNameController.NoChangesMessage); }
public virtual ActionResult Put(UpdateNameForm model) { // make sure model is not null if (model == null) { return(HttpNotFound()); } // make sure model state is valid if (!ModelState.IsValid) { return(View(model)); } // execute command, set feedback message, and redirect var command = Mapper.Map <UpdateMyNameCommand>(model); command.Principal = User; _services.CommandHandler.Handle(command); SetFeedbackMessage(command.ChangedState ? SuccessMessage : NoChangesMessage ); return(Redirect(UpdateNameForm.ReturnUrl)); }
public void ReturnsRedirect_ToStaticReturnUrl_AfterCommandIsExecuted() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression <Func <UpdateMyNameCommand, bool> > commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); var result = controller.Put(model); result.ShouldNotBeNull(); result.ShouldBeType <RedirectResult>(); var redirectResult = (RedirectResult)result; redirectResult.Url.ShouldEqual(UpdateNameForm.ReturnUrl); redirectResult.Permanent.ShouldBeFalse(); }
public void IsValidWhen_DisplayName_IsNotEmpty() { var validator = new UpdateNameValidator(); var model = new UpdateNameForm { DisplayName = "test" }; var results = validator.Validate(model); var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName); error.ShouldBeNull(); }
public void IsInvalidWhen_DisplayName_IsWhiteSpace() { var validator = new UpdateNameValidator(); var model = new UpdateNameForm { DisplayName = " \r" }; var results = validator.Validate(model); results.IsValid.ShouldBeFalse(); results.Errors.Count.ShouldBeInRange(1, int.MaxValue); var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName); error.ShouldNotBeNull(); // ReSharper disable PossibleNullReferenceException error.ErrorMessage.ShouldEqual( UpdateNameValidator.FailedBecauseDisplayNameWasEmpty); // ReSharper restore PossibleNullReferenceException }
public void ReturnsView_WhenModelState_IsInvalid() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm(); var controller = CreateController(scenarioOptions); controller.ModelState.AddModelError("error", "message"); var result = controller.Put(model); result.ShouldNotBeNull(); result.ShouldBeType <ViewResult>(); var viewResult = (ViewResult)result; viewResult.Model.ShouldNotBeNull(); viewResult.Model.ShouldBeType <UpdateNameForm>(); viewResult.Model.ShouldEqual(model); }
//[OpenTopTab(TopTabName.Home)] //[ActionName("update-name")] public virtual ActionResult Put(UpdateNameForm model) { // make sure model is not null if (model == null) return HttpNotFound(); // make sure model state is valid if (!ModelState.IsValid) return View(MVC.IdentityDeprecated.Shared.Views.update_name, model); // execute command, set feedback message, and redirect var command = Mapper.Map<UpdateMyName>(model); command.Principal = User; _services.CommandHandler.Handle(command); //SetFeedbackMessage(command.ChangedState // ? SuccessMessage // : NoChangesMessage //); return Redirect(UpdateNameForm.ReturnUrl); }
public void MapsIsDisplayNameDerived() { var model = new UpdateNameForm { IsDisplayNameDerived = true }; var command = Mapper.Map<UpdateMyNameCommand>(model); command.ShouldNotBeNull(); command.IsDisplayNameDerived.ShouldBeTrue(); }
public void ReturnsView_WhenModelState_IsInvalid() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm(); var controller = CreateController(scenarioOptions); controller.ModelState.AddModelError("error", "message"); var result = controller.Put(model); result.ShouldNotBeNull(); result.ShouldBeType<ViewResult>(); var viewResult = (ViewResult)result; viewResult.Model.ShouldNotBeNull(); viewResult.Model.ShouldBeType<UpdateNameForm>(); viewResult.Model.ShouldEqual(model); }
public void SetsCommandPrincipalProperty() { const string principalIdentityName = "*****@*****.**"; var scenarioOptions = new ScenarioOptions { PrincipalIdentityName = principalIdentityName, }; var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression<Func<UpdateMyNameCommand, bool>> commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; UpdateMyNameCommand executedCommand = null; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))) .Callback((UpdateMyNameCommand command) => executedCommand = command); controller.Put(model); executedCommand.Principal.Identity.Name.ShouldEqual(scenarioOptions.PrincipalIdentityName); executedCommand.Principal.Identity.Name.ShouldEqual(principalIdentityName); }
public void IgnoresPrincipal() { var model = new UpdateNameForm(); var command = Mapper.Map<UpdateMyNameCommand>(model); command.ShouldNotBeNull(); command.Principal.ShouldBeNull(); }
public void IgnoresChangeCount() { var model = new UpdateNameForm(); var command = Mapper.Map<UpdateMyNameCommand>(model); command.ShouldNotBeNull(); command.ChangeCount.ShouldEqual(0); }
public void MapsSuffix() { const string value = "test"; var model = new UpdateNameForm { Suffix = value }; var command = Mapper.Map<UpdateMyNameCommand>(model); command.ShouldNotBeNull(); command.Suffix.ShouldNotBeNull(); command.Suffix.ShouldEqual(model.Suffix); }
public void MapsLastName() { const string value = "test"; var model = new UpdateNameForm { LastName = value }; var command = Mapper.Map<UpdateMyNameCommand>(model); command.ShouldNotBeNull(); command.LastName.ShouldNotBeNull(); command.LastName.ShouldEqual(model.LastName); }
public void ExecutesCommand_WhenAction_IsValid() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression<Func<UpdateMyNameCommand, bool>> commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); controller.Put(model); scenarioOptions.MockCommandHandler.Verify(m => m.Handle(It.Is(commandDerivedFromModel)), Times.Once()); }
public void ReturnsRedirect_ToStaticReturnUrl_AfterCommandIsExecuted() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression<Func<UpdateMyNameCommand, bool>> commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); var result = controller.Put(model); result.ShouldNotBeNull(); result.ShouldBeType<RedirectResult>(); var redirectResult = (RedirectResult)result; redirectResult.Url.ShouldEqual(UpdateNameForm.ReturnUrl); redirectResult.Permanent.ShouldBeFalse(); }
public void FlashesNoChangesMessage_WhenCommand_ChangedState() { var scenarioOptions = new ScenarioOptions(); var model = new UpdateNameForm { DisplayName = "test", IsDisplayNameDerived = false, FirstName = "first", LastName = "last", }; var controller = CreateController(scenarioOptions); Expression<Func<UpdateMyNameCommand, bool>> commandDerivedFromModel = command => command.DisplayName == model.DisplayName && command.IsDisplayNameDerived == model.IsDisplayNameDerived && command.Salutation == model.Salutation && command.FirstName == model.FirstName && command.MiddleName == model.MiddleName && command.LastName == model.LastName && command.Suffix == model.Suffix ; scenarioOptions.MockCommandHandler.Setup(m => m.Handle(It.Is(commandDerivedFromModel))); controller.Put(model); controller.TempData.ShouldNotBeNull(); var message = controller.TempData.FeedbackMessage(); message.ShouldNotBeNull(); message.ShouldEqual(UpdateNameController.NoChangesMessage); }