public void AvailableDisplayFieldsTest() { // Arrange var typeEditor = new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty); var crStepEdit = CrossRefRequiredStepEdit.NewStep(new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty), FieldEdit.New()); var fieldVm = Mock.Create<Veyron.ProcessBuilder.ViewModels.Tabs.ProcessFieldViewModel>(); var vm = new ProcessFieldCrossRefRequiredStepViewModel(crStepEdit, typeEditor, fieldVm); AddCurrentStateField(vm.AvailableFields); AddField(vm.AvailableFields); AddField(vm.AvailableFields); // Act var allFieldsExpectedCount = 3; var displayFieldsExpectedCount = 2; var allFieldsActualCount = vm.AvailableFields.Count; var displayFieldsActualCount = vm.AvailableDisplayFields.Count; var isCurrentStateInAllFields = vm.AvailableFields.Any(f => f.SystemName.Equals(Constants.CurrentStateColumnName)); var isCurrentStateInDisplayFields = vm.AvailableDisplayFields.Any(f => f.SystemName.Equals(Constants.CurrentStateColumnName)); // Assert Assert.AreEqual(allFieldsExpectedCount, allFieldsActualCount); Assert.AreEqual(displayFieldsExpectedCount, displayFieldsActualCount); Assert.IsTrue(isCurrentStateInAllFields); Assert.IsFalse(isCurrentStateInDisplayFields); }
public void PropertiesTest() { var typeEditor = new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty); var crStepEdit = CrossRefRequiredStepEdit.NewStep(new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty), FieldEdit.New()); var fieldVm = Mock.Create<Veyron.ProcessBuilder.ViewModels.Tabs.ProcessFieldViewModel>(); var vm = new ProcessFieldCrossRefRequiredStepViewModel(crStepEdit, typeEditor, fieldVm); TestsHelper.TestPublicPropertiesGetSet(vm, x=>x.SelectedProcess, x=>x.SelectedField); }
public void FileFieldsShouldNotBeInAvailableDisplayFields() { // Arrange var typeEditor = new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty); var crStepEdit = CrossRefRequiredStepEdit.NewStep(new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty), FieldEdit.New()); var fieldVm = Mock.Create<Veyron.ProcessBuilder.ViewModels.Tabs.ProcessFieldViewModel>(); var vm = new ProcessFieldCrossRefRequiredStepViewModel(crStepEdit, typeEditor, fieldVm); AddField(vm.AvailableFields, ColumnTypes.File); // Assert Assert.IsFalse(vm.AvailableDisplayFields.Any(f => f.Model.ColumnType == ColumnTypes.File)); }
private static ProcessFieldCrossRefRequiredStepViewModel CreateCrossRefRequiredStepVm() { var typeEditor = new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty); var crStepEdit = CrossRefRequiredStepEdit.NewStep(new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty), FieldEdit.New()); var fieldVm = Mock.Create<Veyron.ProcessBuilder.ViewModels.Tabs.ProcessFieldViewModel>(); var vm = new ProcessFieldCrossRefRequiredStepViewModel(crStepEdit, typeEditor, fieldVm) { DynamicManager = CreateDynamicTypeManager(), Model = CreateProcessFieldsViewModel("p1"), EventAggregator = Mock.Create<IEventAggregator>() }; return vm; }
public void WhenParentFieldIsPublished_CannotChangeReferencedProcessAndAllowMultiple() { // Arrange. var field = Mock.Create<ProcessFieldViewModel>(Behavior.Loose); Mock.Arrange(() => field.IsPublished).Returns(false); Mock.Arrange(() => field.Enabled).Returns(true); var step = Mock.Create<CrossRefRequiredStepEdit>(Behavior.Loose); var stepInfo = Mock.Create<StepInfo>(Behavior.Loose); var stepViewModel = new ProcessFieldCrossRefRequiredStepViewModel(step, stepInfo, field); // Act / Assert. Assert.IsTrue(stepViewModel.CanChangeReferencedProcess); Assert.IsTrue(stepViewModel.CanChangeAllowMultiple); // Arrange. bool? canChangeReferencedProcess = null; bool? canChangeAllowMultiple = null; stepViewModel.PropertyChanged += (sender, args) => { if (args.PropertyName == TestsHelper.ExtractPropertyName(() => stepViewModel.CanChangeAllowMultiple)) canChangeAllowMultiple = stepViewModel.CanChangeAllowMultiple; if (args.PropertyName == TestsHelper.ExtractPropertyName(() => stepViewModel.CanChangeReferencedProcess)) canChangeReferencedProcess = stepViewModel.CanChangeReferencedProcess; }; // Act. Mock.Arrange(() => field.IsPublished).Returns(true); Mock.Raise(() => field.PropertyChanged += null, new PropertyChangedEventArgs(TestsHelper.ExtractPropertyName(() => field.IsPublished))); // Assert. Assert.AreEqual(false, canChangeReferencedProcess); Assert.AreEqual(false, canChangeAllowMultiple); }
public void CanSelectFieldShouldIncludeImage() { // Arrange var typeEditor = new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty); var crStepEdit = CrossRefRequiredStepEdit.NewStep(new StepInfo(0, string.Empty, string.Empty, string.Empty, 1, true, string.Empty), FieldEdit.New()); var fieldVm = Mock.Create<Veyron.ProcessBuilder.ViewModels.Tabs.ProcessFieldViewModel>(); var vm = new ProcessFieldCrossRefRequiredStepViewModel(crStepEdit, typeEditor, fieldVm); var field = Mock.Create<FieldInfo>(); Mock.Arrange(() => field.ColumnType).Returns(ColumnTypes.Image); // Assert Assert.IsTrue(vm.CanSelectField(field)); }
/// <summary> /// Creates the field vm. /// </summary> /// <param name="field">The field.</param> /// <param name="parentVM">The parent vm.</param> /// <returns>CrossRefFieldViewModel.</returns> public CrossRefFieldViewModel CreateFieldVM(FieldInfo field, ProcessFieldCrossRefRequiredStepViewModel parentVM) { var fieldVM = new CrossRefFieldViewModel(field, parentVM); DeploymentService.Container.SatisfyImportsOnce(fieldVM); return fieldVM; }
/// <summary> /// Initializes a new instance of the <see cref="CrossRefFieldViewModel"/> class. /// </summary> /// <param name="fieldInfo">The field information.</param> /// <param name="parentStep">The parent step.</param> public CrossRefFieldViewModel(FieldInfo fieldInfo, ProcessFieldCrossRefRequiredStepViewModel parentStep) { Model = fieldInfo; ParentStepViewModel = parentStep; if (Model != null && ParentStepViewModel != null) { _isSelected = ParentStepViewModel.Data.SelectedFields.Contains(FullSystemPath); } }