/// <summary> /// Initializes a new instance of the <see cref="ProcessFieldConfigViewModel"/> class. /// </summary> /// <param name="config">The configuration.</param> /// <param name="parent">The parent.</param> public ProcessFieldConfigViewModel(ProcessSecurityConfigEdit config, ProcessFieldsViewModel parent) { _config = config; _parent = parent; if (config != null) { _personFieldName = config.PersonFieldName; _stateGuid = config.StateGuid; _roleId = config.RoleId; _businessUnitId = config.BusinessUnitId; } else { _personFieldName = Constants.AllPersonFieldsSystemName; _stateGuid = Constants.AllStatesGuid; _roleId = Constants.AllRolesId; _businessUnitId = Constants.AllBusinessUnitsId; _config = ProcessSecurityConfigEdit.New(); } this.UpdateNames(); }
/// <summary> /// Initializes a new instance of the <see cref="ProcessSystemFieldViewModel"/> class. /// </summary> /// <param name="parent">The parent.</param> public ProcessSystemFieldViewModel(ProcessFieldsViewModel parent) { _parent = parent; }
[Ignore]//TODO: Unignore public void PopulateFields_Test() { const int basePersonProcessId = 1; const int baseBusinessUnitProcessId = 2; const string personFieldName = "Person"; const string buFieldName = "BusinessUnits"; var basePersonProcessInfo = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => basePersonProcessInfo.Id).Returns(basePersonProcessId); Mock.Arrange(() => basePersonProcessInfo.SystemName).Returns(Constants.BasePersonProcessName); var baseBUProcessInfo = Mock.Create<PublishedProcessInfo>(); Mock.Arrange(() => baseBUProcessInfo.Id).Returns(baseBusinessUnitProcessId); Mock.Arrange(() => baseBUProcessInfo.SystemName).Returns(Constants.BaseBusinessUnitProcessName); var crossRefStep = DataPortal.CreateChild<CrossRefRequiredStepEdit>(); crossRefStep.CrossRefProcess = basePersonProcessInfo; var personField = DataPortal.CreateChild<FieldEdit>(); personField.SystemName = personFieldName; personField.StepList.Add(crossRefStep); personField.FieldType = new FieldTypeInfoMock("Reference", "Reference"); crossRefStep = DataPortal.CreateChild<CrossRefRequiredStepEdit>(); crossRefStep.CrossRefProcess = baseBUProcessInfo; var buField = DataPortal.CreateChild<FieldEdit>(); buField.SystemName = buFieldName; buField.StepList.Add(crossRefStep); buField.FieldType = new FieldTypeInfoMock("MultiReference", "MultiReference"); var sectionEdit = DataPortal.CreateChild<SectionEdit>(); sectionEdit.FieldList.Add(personField); sectionEdit.FieldList.Add(buField); var sectionList = new ProcessSections {sectionEdit}; var processEditMock = Mock.Create<ProcessEdit>(); Mock.Arrange(() => processEditMock.SectionList).Returns(sectionList); var uow = new ProcessEditRetrieverMock(processEditMock, new[] { basePersonProcessInfo, baseBUProcessInfo }); var approvalStep = DataPortal.CreateChild<ApprovalOptionsStepEdit>(); var stepInfo = Mock.Create<StepInfo>(); var fieldEdit = DataPortal.CreateChild<FieldEdit>(); var fieldVM = new ProcessFieldViewModel(fieldEdit, null); var fieldsVM = new ProcessFieldsViewModel { Model = processEditMock, UnitOfWork = uow }; var vm = new ProcessFieldApprovalOptionsStepViewModel(approvalStep, stepInfo, fieldVM) { Model = fieldsVM }; Assert.IsNotNull(vm.SortedLevels); Assert.IsNotNull(vm.Roles); Assert.IsNotNull(vm.ApprovalMembersFields); Assert.IsNotNull(vm.BusinessUnitFields); var eventAggregatorMock = Mock.Create<IEventAggregator>(); vm.EventAggregator = eventAggregatorMock; var role1Mock = Mock.Create<IRoleInfo>(); Mock.Arrange(() => role1Mock.Id).Returns(3); var role2Mock = Mock.Create<IRoleInfo>(); Mock.Arrange(() => role2Mock.Id).Returns(5); var roles = new List<IRoleInfo> { role1Mock, role2Mock }; var organizationInfoMock = Mock.Create<IOrganizationInfo>(); Mock.Arrange(() => organizationInfoMock.Roles).Returns(roles); var processfieldsVMMock = Mock.Create<ProcessFieldsViewModel>(); vm.OrganizationInfo = organizationInfoMock; vm.TheProcessFieldsVM = processfieldsVMMock; vm.OnImportsSatisfied(); Assert.AreEqual(2, vm.ApprovalMembersFields.Count); Assert.IsTrue(vm.ApprovalMembersFields.Any(f => f.SystemName == personField.SystemName)); Assert.AreEqual(2, vm.BusinessUnitFields.Count); Assert.IsTrue(vm.BusinessUnitFields.Any(f => f.SystemName == buField.SystemName)); Assert.AreEqual(3, vm.Roles.Count); Assert.IsTrue(vm.Roles.Any(r => r.Id == role1Mock.Id)); Assert.IsTrue(vm.Roles.Any(r => r.Id == role2Mock.Id)); }
public void FilterOptionsCommandShouldShowFilterOptionsPopup() { var filter = Mock.Create<IFilterDescriptor>(Behavior.Loose); var stepEdit = DisplayListRequiredStepEdit.NewStep(1); stepEdit.SelectedFields = new DisplayListStepFields(); var processFieldViewModel = new ProcessFieldViewModel(new FieldEdit(), new ProcessSectionViewModel(Mock.Create<ISectionEdit>())); var vm = new ProcessFieldDisplayListRequiredStepViewModel(stepEdit, new StepInfo(1), processFieldViewModel); var processEdit = Mock.Create<ProcessEdit>(Behavior.Loose); var fieldsViewModel = new ProcessFieldsViewModel { Model = processEdit }; vm.Model = fieldsViewModel; var popupFactory = Mock.Create<PopupFactory>(Behavior.Loose); var popupBuilder = Mock.Create<PopupBuilder>(Behavior.CallOriginal); Mock.Arrange(() => popupFactory.Popup()).Returns(popupBuilder); Mock.Arrange(() => popupBuilder.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoNothing(); vm.ThePopupFactory = popupFactory; var filterOptions = Mock.Create<FilterOptionsViewModel>(Behavior.Loose); vm.FilterOptionsVM = new Lazy<FilterOptionsViewModel>(() => filterOptions); vm.FilterOptionsCommand.Execute(filter); Assert.IsTrue(filterOptions.IsUdpEditMode); Assert.IsFalse(filterOptions.ShowUdPs); Assert.IsFalse(filterOptions.ShowProcessFields); Mock.Assert(() => filterOptions.CleanUp(), Occurs.Once()); Mock.AssertSet(() => filterOptions.FilterDescriptor = filter, Occurs.Once()); }
public void FilterOptionsCommandShouldUpdatProcessFieldAfterPopupIsClosed() { var filter = Mock.Create<IFilterDescriptor>(Behavior.Loose); var stepEdit = DisplayListRequiredStepEdit.NewStep(1); stepEdit.SelectedFields = new DisplayListStepFields(); var processFieldViewModel = new ProcessFieldViewModel(new FieldEdit(), new ProcessSectionViewModel(Mock.Create<ISectionEdit>())); var vm = new ProcessFieldDisplayListRequiredStepViewModel(stepEdit, new StepInfo(1), processFieldViewModel); Mock.Arrange(() => vm.GetProcessedFilter()).IgnoreInstance().Returns(Mock.Create<IFilterDescriptor>()); var processEdit = Mock.Create<ProcessEdit>(Behavior.Loose); var fieldsViewModel = new ProcessFieldsViewModel { Model = processEdit }; vm.Model = fieldsViewModel; var popupFactory = Mock.Create<PopupFactory>(Behavior.Loose); var popupBuilder = Mock.Create<PopupBuilder>(Behavior.CallOriginal); Mock.Arrange(() => popupFactory.Popup()).Returns(popupBuilder); Mock.Arrange(() => popupBuilder.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoInstead((Action ok, Action cancel) => ok()); vm.ThePopupFactory = popupFactory; var filterOptions = Mock.Create<FilterOptionsViewModel>(Behavior.Loose); vm.FilterOptionsVM = new Lazy<FilterOptionsViewModel>(() => filterOptions); var procField = new ProcessField("test", "test"); filterOptions.IsProcessField = true; filterOptions.SelectedProcessField = procField; var filterValue = new FilterValue { Type = FilterValueType.ProcessField }; Mock.Arrange(() => filter.Value).Returns(filterValue); vm.FilterOptionsCommand.Execute(filter); Assert.AreEqual("FLD: test", filterValue.ProvidedValue.ToString()); Mock.Arrange(() => filter.Value).Returns((FilterValue)null); vm.FilterOptionsCommand.Execute(filter); Mock.AssertSet(() => filter.Value = Arg.IsAny<FilterValue>()); }