public void WhenConstructed_AddsCancelCommand() { var processEditVM = new ProcessEditViewModel(); Assert.IsNotNull(processEditVM.WindowCommandItemList.SingleOrDefault(c => c.Command == processEditVM.CancelCommand)); }
public void Prevent_ExecutePublish_IfAny() { var vm = new ProcessEditViewModel(); var cs = new Lazy<ICommunicationService>(); var val = new CommunicationService(); Mock.Arrange(() => cs.Value).Returns(val); Mock.Arrange(() => vm.CommunicationService).Returns(cs); Mock.Arrange(() => vm.CommunicationService.Value.IsPublishingInProgress).Returns(false); var popupFactory = new PopupFactory(); var popupBuilder = new PopupBuilder(); Mock.Arrange(() => popupBuilder.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoInstead((Action ok, Action cancel) => { }); Mock.Arrange(() => popupFactory.Popup()).Returns(popupBuilder); vm.ThePopupFactory = new Lazy<PopupFactory>(() => popupFactory); var pvm = new Lazy<PublishViewModel>(); Mock.Arrange(() => vm.PublishVM).Returns(pvm); var prevented = false; Mock.Arrange(() => popupBuilder.Message(LanguageService.Translate("Label_PublishingIsInProgress"))).DoInstead(() => prevented = true).Returns(popupBuilder); var model = Mock.Create<ProcessEdit>(); Mock.Arrange(() => vm.Model).Returns(model); Mock.Arrange(() => vm.Model.IsValid).Returns(true); Mock.Arrange(() => vm.Model.IsDirty).Returns(false); Mock.Arrange(() => vm.Model.IsInactive).Returns(false); Mock.Arrange(() => Utils.CurrentUserIsReadOnly).Returns(false); vm.PublishCommand.Execute(null); Assert.IsFalse(prevented); Mock.Arrange(() => vm.CommunicationService.Value.IsPublishingInProgress).Returns(true); vm.PublishCommand.Execute(null); Assert.IsTrue(prevented); }