public void MergeViewModel_DoDeactivate_CanSave_MessageBoxYes() { //------------Setup for test-------------------------- _firstResource = CreateResource(ResourceType.WorkflowService); var mockWorkSurfaceViewModel = new Mock <IMergePreviewWorkflowDesignerViewModel>(); mockWorkSurfaceViewModel.Setup(model => model.Server).Returns(_environmentModel.Object); mockWorkSurfaceViewModel.Setup(model => model.ResourceModel).Returns(_firstResource.Object); var currentTree = new List <ConflictTreeNode>(); var diffTree = new List <ConflictTreeNode>(); _mockParseServiceForDifferences.Setup(parser => parser.GetDifferences(It.IsAny <IContextualResourceModel>(), It.IsAny <IContextualResourceModel>(), false)).Returns((currentTree, diffTree)); //------------Execute Test--------------------------- var popupController = new Mock <IPopupController>(); popupController.Setup(controller => controller.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), MessageBoxImage.Information, "", false, false, true, false, false, false)).Returns(MessageBoxResult.Yes); CustomContainer.Register(popupController.Object); var mockConflictRow = new Mock <IToolConflictRow>(); mockConflictRow.Setup(cr => cr.HasConflict).Returns(true); var conflicts = new List <IToolConflictRow>(); conflicts.Add(mockConflictRow.Object); var viewModel = new Mock <IMergeWorkflowViewModel>(); viewModel.Setup(model => model.MergePreviewWorkflowDesignerViewModel).Returns(mockWorkSurfaceViewModel.Object); var vm = new MergeViewModel(_eventAggregator.Object, viewModel.Object, popupController.Object, new Mock <IView>().Object); Assert.IsNotNull(vm); Assert.IsFalse(vm.HasVariables); Assert.IsFalse(vm.HasDebugOutput); Assert.IsNull(vm.DisplayName); Assert.AreEqual("MergeConflicts", vm.ResourceType); Assert.IsNull(vm.HelpText); Assert.IsFalse(vm.IsDirty); var mergeWorkflowViewModel = new MergeWorkflowViewModel(_firstResource.Object, _firstResource.Object, false); mergeWorkflowViewModel.Conflicts = conflicts; mergeWorkflowViewModel.HasMergeStarted = true; mergeWorkflowViewModel.DisplayName = "Merge"; vm.ViewModel = mergeWorkflowViewModel; vm.DoDeactivate(true); //------------Assert Results------------------------- Assert.IsTrue(vm.IsDirty); Assert.IsNull(vm.HelpText); }
public void WhenMergeWindowIsOpenedWithLocalVersion(string p0) { var localResourceVersion = _scenarioContext.Get <IContextualResourceModel>(localResourceVersionString); var localResource = _scenarioContext.Get <IContextualResourceModel>(localResourceString); var mergeVm = new MergeWorkflowViewModel(localResourceVersion, localResource, true); _scenarioContext.Add(mergeVmString, mergeVm); }
public void Initialize_GivenSameResourceModel_ShouldHaveNoDeifferences_desicion() { //---------------Set up test pack------------------- var helloWorldGuid = "41617daa-509e-40eb-aa76-b0827028721d".ToGuid(); var loadContextualResourceModel = _server.Source.ResourceRepository.LoadContextualResourceModel(helloWorldGuid); //---------------Assert Precondition---------------- Assert.IsNotNull(loadContextualResourceModel); //---------------Execute Test ---------------------- var mergeWorkflowViewModel = new MergeWorkflowViewModel(loadContextualResourceModel, loadContextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); }
public void Example_ControlFlowDecision_No_Differences_TreeHierachyIsCorrect() { //---------------Set up test pack------------------- var environmentModel = _server.Source; environmentModel.Connect(); var resourceRepository = _server.Source.ResourceRepository; resourceRepository.Load(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var contextualResourceModel = resourceRepository.LoadContextualResourceModel("41617daa-509e-40eb-aa76-b0827028721d".ToGuid()); var mergeWorkflowViewModel = new MergeWorkflowViewModel(contextualResourceModel, contextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); var all = mergeWorkflowViewModel.Conflicts.All(conflict => !conflict.HasConflict); Assert.IsTrue(all); var conflictsCount = mergeWorkflowViewModel.Conflicts.Count; Assert.AreEqual(35, conflictsCount); var completeConflict1 = mergeWorkflowViewModel.Conflicts.First; Assert.IsNotNull(completeConflict1); var toolConflict1 = completeConflict1.Value as IToolConflict; Assert.IsTrue(!toolConflict1.CurrentViewModel.Children.Any()); Assert.AreEqual("Use the Decision tool to:", toolConflict1.CurrentViewModel.MergeDescription); var completeConflict2 = completeConflict1.Next; Assert.IsNotNull(completeConflict2); var toolConflict2 = completeConflict2.Value as IToolConflict; Assert.IsTrue(!toolConflict2.CurrentViewModel.Children.Any()); Assert.AreEqual("EXAMPLE 1 - Basic Usage", toolConflict2.CurrentViewModel.MergeDescription); var completeConflict3 = completeConflict2.Next; Assert.IsNotNull(completeConflict3); var toolConflict3 = completeConflict3.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict3.CurrentArmConnector); Assert.AreEqual("Use the Decision tool to: -> EXAMPLE 1 - Basic Usage", toolConflict3.CurrentArmConnector.ArmDescription); }
public void MergeViewModel_PropertyChanged_DataListViewModel_IsTrue() { //------------Setup for test-------------------------- _firstResource = CreateResource(ResourceType.WorkflowService); var mockWorkSurfaceViewModel = new Mock <IMergePreviewWorkflowDesignerViewModel>(); mockWorkSurfaceViewModel.Setup(model => model.Server).Returns(_environmentModel.Object); mockWorkSurfaceViewModel.Setup(model => model.ResourceModel).Returns(_firstResource.Object); var currentTree = new List <ConflictTreeNode>(); var diffTree = new List <ConflictTreeNode>(); _mockParseServiceForDifferences.Setup(parser => parser.GetDifferences(It.IsAny <IContextualResourceModel>(), It.IsAny <IContextualResourceModel>(), false)).Returns((currentTree, diffTree)); //------------Execute Test--------------------------- var viewModel = new Mock <IMergeWorkflowViewModel>(); viewModel.Setup(model => model.MergePreviewWorkflowDesignerViewModel).Returns(mockWorkSurfaceViewModel.Object); var vm = new MergeViewModel(_eventAggregator.Object, viewModel.Object, new Mock <IPopupController>().Object, new Mock <IView>().Object); var mergeWorkflowViewModel = new MergeWorkflowViewModel(_firstResource.Object, _firstResource.Object, false); mergeWorkflowViewModel.HasMergeStarted = true; vm.ViewModel = mergeWorkflowViewModel; bool wasCalled = false; vm.PropertyChanged += (sender, args) => { if (args.PropertyName == "DataListViewModel") { wasCalled = true; } }; Assert.IsNotNull(vm); Assert.IsFalse(vm.HasVariables); Assert.IsFalse(vm.HasDebugOutput); Assert.AreEqual(mergeWorkflowViewModel.DisplayName, vm.DisplayName); Assert.AreEqual("MergeConflicts", vm.ResourceType); Assert.IsNull(vm.HelpText); Assert.IsTrue(vm.IsDirty); }
public void MergeViewModel_DoDeactivate_CanSave_ExpectedFalse() { //------------Setup for test-------------------------- _firstResource = CreateResource(ResourceType.WorkflowService); var mockWorkSurfaceViewModel = new Mock <IMergePreviewWorkflowDesignerViewModel>(); mockWorkSurfaceViewModel.Setup(model => model.Server).Returns(_environmentModel.Object); mockWorkSurfaceViewModel.Setup(model => model.ResourceModel).Returns(_firstResource.Object); var currentTree = new List <ConflictTreeNode>(); var diffTree = new List <ConflictTreeNode>(); _mockParseServiceForDifferences.Setup(parser => parser.GetDifferences(It.IsAny <IContextualResourceModel>(), It.IsAny <IContextualResourceModel>(), false)).Returns((currentTree, diffTree)); //------------Execute Test--------------------------- var viewModel = new Mock <IMergeWorkflowViewModel>(); viewModel.Setup(model => model.MergePreviewWorkflowDesignerViewModel).Returns(mockWorkSurfaceViewModel.Object); var vm = new MergeViewModel(_eventAggregator.Object, viewModel.Object, new Mock <IPopupController>().Object, new Mock <IView>().Object); Assert.IsNotNull(vm); Assert.IsFalse(vm.HasVariables); Assert.IsFalse(vm.HasDebugOutput); Assert.IsNull(vm.DisplayName); Assert.AreEqual("MergeConflicts", vm.ResourceType); Assert.IsNull(vm.HelpText); Assert.IsFalse(vm.IsDirty); vm.HelpText = string.Empty; var mergeWorkflowViewModel = new MergeWorkflowViewModel(_firstResource.Object, _firstResource.Object, false); vm.ViewModel = mergeWorkflowViewModel; var expectedValue = vm.DoDeactivate(false); //------------Assert Results------------------------- Assert.IsFalse(vm.ViewModel.IsDirty); Assert.IsTrue(vm.IsDirty); Assert.AreEqual(string.Empty, vm.HelpText); Assert.IsTrue(expectedValue); _shellViewModel.Verify(model => model.HelpViewModel.UpdateHelpText(It.IsAny <string>())); }
public void Batch_Compare_All_Examples_Have_No_Differences() { //---------------Set up test pack------------------- var environmentModel = _server.Source; environmentModel.Connect(); var resourceRepository = _server.Source.ResourceRepository; resourceRepository.Load(); var resourceModels = resourceRepository.All(); Assert.IsNotNull(resourceModels); var examples = resourceModels.Where(model => model.GetSavePath().StartsWith("Examples")).ToList(); foreach (var example in examples) { //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var contextualResourceModel = example as IContextualResourceModel; try { var mergeWorkflowViewModel = new MergeWorkflowViewModel(contextualResourceModel, contextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); var conflicts = mergeWorkflowViewModel.Conflicts; var all = conflicts.All(conflict => { var toolConflict = conflict as IToolConflict; return(toolConflict.DiffViewModel == null); }); if (all) { Assert.IsTrue(all); } else { Debug.WriteLine(example.ID + " " + example.DisplayName + " Has some differences "); } } catch (Exception e) { Debug.WriteLine(example.ID + " " + example.DisplayName + " Has some differences " + e.Message); } } }
public void Initialize_GivenSameResourceModel_ShouldHaveNoDeifferences_Switch() { //---------------Set up test pack------------------- var resourceId = "6dcdd72f-c4ba-484d-9806-8134d8eb2447".ToGuid(); var loadContextualResourceModel = _server.Source.ResourceRepository.LoadContextualResourceModel(resourceId); var resourceModel = new ResourceModel(_server.Source) { ID = resourceId }; var xElement = XML.XmlResource.Fetch("SameResourceSwitch"); var element = xElement.Element("Action"); Assert.IsNotNull(element); var xamlDef = element.ToString(SaveOptions.DisableFormatting); resourceModel.WorkflowXaml = new StringBuilder(xamlDef); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var mergeWorkflowViewModel = new MergeWorkflowViewModel(loadContextualResourceModel, resourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); }
public void Example_LoopConstructsForEach_No_Differences_TreeHierachyIsCorrect() { //---------------Set up test pack------------------- var environmentModel = _server.Source; environmentModel.Connect(); var resourceRepository = _server.Source.ResourceRepository; resourceRepository.Load(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var contextualResourceModel = resourceRepository.LoadContextualResourceModel("a3ad09e1-a058-4dc1-af6a-b4d856dc0e52".ToGuid()); var mergeWorkflowViewModel = new MergeWorkflowViewModel(contextualResourceModel, contextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); var all = mergeWorkflowViewModel.Conflicts.All(conflict => !conflict.HasConflict); Assert.IsTrue(all); var conflictsCount = mergeWorkflowViewModel.Conflicts.Count; Assert.AreEqual(13, conflictsCount); var completeConflict1 = mergeWorkflowViewModel.Conflicts.First; Assert.IsNotNull(completeConflict1); var toolConflict1 = completeConflict1.Value as IToolConflict; Assert.IsTrue(!toolConflict1.CurrentViewModel.Children.Any()); Assert.AreEqual("Use the For Each tool to:", toolConflict1.CurrentViewModel.MergeDescription); var completeConflict2 = completeConflict1.Next; Assert.IsNotNull(completeConflict2); var toolConflict2 = completeConflict2.Value as IToolConflict; Assert.IsTrue(!toolConflict2.CurrentViewModel.Children.Any()); Assert.AreEqual("EXAMPLE 1 - No. of Executions", toolConflict2.CurrentViewModel.MergeDescription); var completeConflict3 = completeConflict2.Next; Assert.IsNotNull(completeConflict3); var toolConflict3 = completeConflict3.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict3.CurrentArmConnector); Assert.AreEqual("Use the For Each tool to: -> EXAMPLE 1 - No. of Executions", toolConflict3.CurrentArmConnector.ArmDescription); var completeConflict4 = completeConflict3.Next; Assert.IsNotNull(completeConflict4); var toolConflict4 = completeConflict4.Value as IToolConflict; Assert.IsTrue(!toolConflict4.CurrentViewModel.Children.Any()); Assert.AreEqual("For Each", toolConflict4.CurrentViewModel.MergeDescription); var completeConflict5 = completeConflict4.Next; Assert.IsNotNull(completeConflict5); var toolConflict5 = completeConflict5.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict5.CurrentArmConnector); Assert.AreEqual("EXAMPLE 1 - No. of Executions -> For Each", toolConflict5.CurrentArmConnector.ArmDescription); var completeConflict6 = completeConflict5.Next; Assert.IsNotNull(completeConflict6); var toolConflict6 = completeConflict6.Value as IToolConflict; Assert.IsTrue(!toolConflict6.CurrentViewModel.Children.Any()); Assert.AreEqual("EXAMPLE 2 - * in Range", toolConflict6.CurrentViewModel.MergeDescription); var completeConflict7 = completeConflict6.Next; Assert.IsNotNull(completeConflict7); var toolConflict7 = completeConflict7.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict7.CurrentArmConnector); Assert.AreEqual("For Each -> EXAMPLE 2 - * in Range", toolConflict7.CurrentArmConnector.ArmDescription); var completeConflict8 = completeConflict7.Next; Assert.IsNotNull(completeConflict8); var toolConflict8 = completeConflict8.Value as IToolConflict; Assert.IsTrue(!toolConflict8.CurrentViewModel.Children.Any()); Assert.AreEqual("For Each", toolConflict8.CurrentViewModel.MergeDescription); var completeConflict9 = completeConflict8.Next; Assert.IsNotNull(completeConflict9); var toolConflict9 = completeConflict9.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict9.CurrentArmConnector); Assert.AreEqual("EXAMPLE 2 - * in Range -> For Each", toolConflict9.CurrentArmConnector.ArmDescription); }
public void Example_ControlFlowSequence_No_Differences_TreeHierachyIsCorrect() { //---------------Set up test pack------------------- var environmentModel = _server.Source; environmentModel.Connect(); var resourceRepository = _server.Source.ResourceRepository; resourceRepository.Load(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var contextualResourceModel = resourceRepository.LoadContextualResourceModel("1b0e0881-9869-4b71-b853-e0c752c38678".ToGuid()); var mergeWorkflowViewModel = new MergeWorkflowViewModel(contextualResourceModel, contextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); var all = mergeWorkflowViewModel.Conflicts.All(conflict => !conflict.HasConflict); Assert.IsTrue(all); var conflictsCount = mergeWorkflowViewModel.Conflicts.Count; Assert.AreEqual(11, conflictsCount); var completeConflict1 = mergeWorkflowViewModel.Conflicts.First; Assert.IsNotNull(completeConflict1); var toolConflict1 = completeConflict1.Value as IToolConflict; Assert.IsTrue(!toolConflict1.CurrentViewModel.Children.Any()); Assert.AreEqual("Use the Sequence tool to:", toolConflict1.CurrentViewModel.MergeDescription); var completeConflict2 = completeConflict1.Next; Assert.IsNotNull(completeConflict2); var toolConflict2 = completeConflict2.Value as IToolConflict; Assert.IsTrue(!toolConflict2.CurrentViewModel.Children.Any()); Assert.AreEqual("EXAMPLE 1 - Basic Usage", toolConflict2.CurrentViewModel.MergeDescription); var completeConflict3 = completeConflict2.Next; Assert.IsNotNull(completeConflict3); var toolConflict3 = completeConflict3.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict3.CurrentArmConnector); Assert.AreEqual("Use the Sequence tool to: -> EXAMPLE 1 - Basic Usage", toolConflict3.CurrentArmConnector.ArmDescription); var completeConflict4 = completeConflict3.Next; Assert.IsNotNull(completeConflict4); var toolConflict4 = completeConflict4.Value as IToolConflict; Assert.IsTrue(!toolConflict4.CurrentViewModel.Children.Any()); Assert.AreEqual("Create Example Data (1)", toolConflict4.CurrentViewModel.MergeDescription); var childrenCount = toolConflict4.CurrentViewModel.Children.Count; Assert.AreEqual(0, childrenCount); var completeConflict5 = completeConflict4.Next; Assert.IsNotNull(completeConflict5); var toolConflict5 = completeConflict5.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict5.CurrentArmConnector); Assert.AreEqual("EXAMPLE 1 - Basic Usage -> Create Example Data (1)", toolConflict5.CurrentArmConnector.ArmDescription); var completeConflict6 = completeConflict5.Next; Assert.IsNotNull(completeConflict6); var toolConflict6 = completeConflict6.Value as IToolConflict; Assert.IsTrue(!toolConflict6.CurrentViewModel.Children.Any()); Assert.AreEqual("Organize Customers", toolConflict6.CurrentViewModel.MergeDescription); var childrenCount5 = toolConflict6.CurrentViewModel.Children.Count; Assert.AreEqual(0, childrenCount5); }
public void MergeCurrent_HelloWorld_No_Differences_TreeHierachyIsCorrect() { //---------------Set up test pack------------------- var environmentModel = _server.Source; environmentModel.Connect(); var resourceRepository = _server.Source.ResourceRepository; resourceRepository.Load(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var contextualResourceModel = resourceRepository.LoadContextualResourceModel("acb75027-ddeb-47d7-814e-a54c37247ec1".ToGuid()); var mergeWorkflowViewModel = new MergeWorkflowViewModel(contextualResourceModel, contextualResourceModel, true); //---------------Test Result ----------------------- Assert.IsNotNull(mergeWorkflowViewModel); var all = mergeWorkflowViewModel.Conflicts.All(conflict => !conflict.HasConflict); Assert.IsTrue(all); var conflictsCount = mergeWorkflowViewModel.Conflicts.Count; Assert.AreEqual(6, conflictsCount); var completeConflict1 = mergeWorkflowViewModel.Conflicts.First; Assert.IsNotNull(completeConflict1); var toolConflict1 = completeConflict1.Value as IToolConflict; Assert.IsTrue(!toolConflict1.CurrentViewModel.Children.Any()); Assert.AreEqual("If [[Name]] <> (Not Equal) ", toolConflict1.CurrentViewModel.MergeDescription); var completeConflict2 = completeConflict1.Next; Assert.IsNotNull(completeConflict2); var toolConflict2 = completeConflict2.Value as IToolConflict; Assert.IsTrue(!toolConflict2.CurrentViewModel.Children.Any()); Assert.AreEqual("Set the output variable (1)", toolConflict2.CurrentViewModel.MergeDescription); var completeConflict3 = completeConflict2.Next; Assert.IsNotNull(completeConflict3); var toolConflict3 = completeConflict3.Value as IArmConnectorConflict; Assert.IsNotNull(toolConflict3.CurrentArmConnector); Assert.AreEqual("If [[Name]] <> (Not Equal) : TRUE -> Set the output variable (1)", toolConflict3.CurrentArmConnector.ArmDescription); var completeConflict4 = completeConflict3.Next; Assert.IsNotNull(completeConflict4); var toolConflict4 = completeConflict4.Value as IToolConflict; Assert.IsTrue(!toolConflict4.CurrentViewModel.Children.Any()); Assert.AreEqual("Assign a value to Name if blank (1)", toolConflict4.CurrentViewModel.MergeDescription); var childrenCount = toolConflict4.CurrentViewModel.Children.Count; Assert.AreEqual(0, childrenCount); }