private static void GetActivityWithActWebApiActions()
        {
            Activity activity = new Activity();

            activity.Active = true;
            activity.SelectedForConversion = true;
            activity.TargetApplication     = webService;
            ActWebAPIRest actRest = new ActWebAPIRest();

            actRest.Active      = true;
            actRest.Description = "WebAPI REST Action-XMLBody";

            SetRestActionInputValues(actRest, nameof(ActWebAPIBase.Fields.RequestBody), GetXMLBody());
            SetRestActionInputValues(actRest, nameof(ActWebAPIBase.Fields.EndPointURL), "https://jsonplaceholder.typicode.com/posts/1");

            activity.Acts.Add(actRest);

            ActWebAPISoap actSoapJson = new ActWebAPISoap();

            actSoapJson.Active      = true;
            actSoapJson.Description = "WebAPI Soap Action-JsonBody";

            SetRestActionInputValues(actSoapJson, nameof(ActWebAPIBase.Fields.RequestBody), GetJsonBody());
            SetRestActionInputValues(actSoapJson, nameof(ActWebAPIBase.Fields.EndPointURL), "http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx");

            activity.Acts.Add(actSoapJson);

            mBF.AddActivity(activity);
            mListBF.Add(mBF);
        }
Esempio n. 2
0
        /// <summary>
        /// Adding Activities from Shared Repository to the Business Flow in Context
        /// </summary>
        /// <param name="sharedActivitiesToAdd">Shared Repository Activities to Add Instances from</param>
        /// <param name="businessFlow">Business Flow to add to</param>
        public static void AddActivitiesFromSRHandler(List <Activity> sharedActivitiesToAdd, BusinessFlow businessFlow, string ActivitiesGroupID = null)
        {
            ActivitiesGroup parentGroup = null;

            if (!string.IsNullOrWhiteSpace(ActivitiesGroupID))
            {
                parentGroup = businessFlow.ActivitiesGroups.Where(g => g.Name == ActivitiesGroupID).FirstOrDefault();
            }
            else
            {
                parentGroup = (new ActivitiesGroupSelectionPage(businessFlow)).ShowAsWindow();
            }

            if (parentGroup != null)
            {
                foreach (Activity sharedActivity in sharedActivitiesToAdd)
                {
                    Activity activityIns = (Activity)sharedActivity.CreateInstance(true);
                    activityIns.Active = true;
                    businessFlow.SetActivityTargetApplication(activityIns);
                    businessFlow.AddActivity(activityIns, parentGroup);
                    //mBusinessFlow.CurrentActivity = droppedActivityIns;
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Adding Activities from Shared Repository to the Business Flow in Context
        /// </summary>
        /// <param name="sharedActivitiesToAdd">Shared Repository Activities to Add Instances from</param>
        /// <param name="businessFlow">Business Flow to add to</param>
        public static void AddActivitiesFromSRHandler(List <Activity> sharedActivitiesToAdd, BusinessFlow businessFlow, string ActivitiesGroupID = null, int insertIndex = -1)
        {
            ActivitiesGroup parentGroup = null;

            if (!string.IsNullOrWhiteSpace(ActivitiesGroupID))
            {
                parentGroup = businessFlow.ActivitiesGroups.Where(g => g.Name == ActivitiesGroupID).FirstOrDefault();
            }
            else
            {
                parentGroup = (new ActivitiesGroupSelectionPage(businessFlow)).ShowAsWindow();
            }

            if (parentGroup != null)
            {
                eUserMsgSelection userSelection = eUserMsgSelection.None;
                foreach (Activity sharedActivity in sharedActivitiesToAdd)
                {
                    Activity activityIns = (Activity)sharedActivity.CreateInstance(true);
                    activityIns.Active = true;
                    //map activities target application to BF if missing in BF
                    userSelection = businessFlow.MapTAToBF(userSelection, activityIns, WorkSpace.Instance.Solution.ApplicationPlatforms);
                    businessFlow.SetActivityTargetApplication(activityIns);
                    businessFlow.AddActivity(activityIns, parentGroup, insertIndex);
                }
            }
        }
Esempio n. 4
0
        public string RecoverFolderPath             = null; //???  move to above ? !!!!!!!!!!!

        public BusinessFlow GetNewBusinessFlow(string Name, bool setTargetApp = false)
        {
            BusinessFlow newBF = new BusinessFlow();

            newBF.Name = Name;

            Activity defActivity = new Activity()
            {
                Active = true
            };

            defActivity.ActivityName = GingerDicser.GetTermResValue(eTermResKey.Activity) + " 1";
            newBF.AddActivity(defActivity, newBF.AddActivitiesGroup());
            newBF.Activities.CurrentItem = defActivity;
            newBF.CurrentActivity        = defActivity;

            if (setTargetApp == true && WorkSpace.Instance.Solution.ApplicationPlatforms.Count > 0)
            {
                newBF.TargetApplications.Add(new TargetApplication()
                {
                    AppName = WorkSpace.Instance.Solution.MainApplication
                });
                newBF.CurrentActivity.TargetApplication = newBF.TargetApplications[0].Name;
            }

            return(newBF);
        }
Esempio n. 5
0
        public void AddDefualtGroupTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();

            //Assert
            Assert.IsTrue(busFlow.ActivitiesGroups.Count == 1, "Validate defualt Activities Group was added");
            Assert.IsTrue(busFlow.ActivitiesGroups[0].ActivitiesIdentifiers.Count == 5, "Validate all Activities are attached to defualt Activities Group");
            Assert.IsTrue(busFlow.ActivitiesGroups[0].ActivitiesIdentifiers[2].ActivityName == activity3.ActivityName, "Validate group has correct activities mapped to it");
            Assert.IsTrue(activity1.ActivitiesGroupID == busFlow.ActivitiesGroups[0].Name, "Validate Activities mapped to defualt group");
            Assert.IsTrue(activity5.ActivitiesGroupID == busFlow.ActivitiesGroups[0].Name, "Validate Activities mapped to defualt group");
        }
        public void ErrorHandlerActivityShouldExecuteWhenAnyActivitiesFail()
        {
            CreateActivityListForBusinessFlow();

            Activity Activity5 = new Activity();

            Activity5.ActivityName = "Activity5";
            Activity5.Active       = true;

            ActWebAPIRest restAct = new ActWebAPIRest();

            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.EndPointURL, "https://jsonplaceholder.typicode.com/posts/100");
            restAct.AddOrUpdateInputParamValue(ActWebAPIBase.Fields.CertificateTypeRadioButton, ApplicationAPIUtils.eCretificateType.AllSSL.ToString());
            restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.RequestType, ApplicationAPIUtils.eRequestType.POST.ToString());
            restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.ContentType, ApplicationAPIUtils.eContentType.JSon.ToString());
            restAct.AddOrUpdateInputParamValue(ActWebAPIRest.Fields.ResponseContentType, ApplicationAPIUtils.eContentType.JSon.ToString());

            restAct.Active = true;
            restAct.EnableRetryMechanism = false;
            restAct.ItemName             = "Web API REST";
            Activity5.Acts.Add(restAct);

            Activity5.ErrorHandlerMappingType = eHandlerMappingType.AllAvailableHandlers;
            mBF.AddActivity(Activity5, null, 3);

            Context context1 = new Context();

            context1.BusinessFlow = mBF;
            context1.Activity     = mBF.Activities[0];

            mGR.Executor.CurrentBusinessFlow = mBF;
            mGR.Executor.CurrentBusinessFlow.CurrentActivity = mBF.Activities[0];
            mGR.Executor.Context = context1;

            //Act
            mGR.Executor.RunBusinessFlow(mBF);

            Assert.AreEqual(eRunStatus.Failed, mBF.RunStatus, "Business Flow Failed");
            Assert.AreEqual(eRunStatus.Passed, mBF.Activities[0].Status, "Activity 1 Status");
            Assert.AreEqual(eRunStatus.Passed, mBF.Activities[1].Status, "Activity 2 Status");
            Assert.AreEqual(eRunStatus.Passed, mBF.Activities[2].Status, "Activity 3 Status");
            Assert.AreEqual(eRunStatus.Failed, mBF.Activities[3].Status, "Activity5 Status");
            Assert.AreEqual(eRunStatus.Passed, mBF.Activities[4].Status);
        }
Esempio n. 7
0
        private void grdActivities_ItemDropped(object sender, EventArgs e)
        {
            object droppedItem = ((DragInfo)sender).Data;

            if (droppedItem.GetType() == typeof(Activity))
            {
                Activity instance = (Activity)((Activity)droppedItem).CreateInstance(true);
                instance.Active = true;

                mBusinessFlow.SetActivityTargetApplication(instance);
                mBusinessFlow.AddActivity(instance);

                //Placing the item after current item
                int selectedActIndex = -1;
                ObservableList <Activity> actsList = mBusinessFlow.Activities;
                if (actsList.CurrentItem != null)
                {
                    selectedActIndex = actsList.IndexOf((Activity)actsList.CurrentItem);
                }
                if (selectedActIndex >= 0)
                {
                    actsList.Move(actsList.Count - 1, selectedActIndex + 1);
                }
            }
            else if (droppedItem.GetType() == typeof(ActivitiesGroup))
            {
                ActivitiesGroup droppedGroupIns = (ActivitiesGroup)((ActivitiesGroup)droppedItem).CreateInstance(true);
                mBusinessFlow.AddActivitiesGroup(droppedGroupIns);
                ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>();
                mBusinessFlow.ImportActivitiesGroupActivitiesFromRepository(droppedGroupIns, activities, false);
                mBusinessFlow.AttachActivitiesGroupsAndActivities();

                int selectedActIndex = -1;
                ObservableList <ActivitiesGroup> actsList = App.BusinessFlow.ActivitiesGroups;
                if (actsList.CurrentItem != null)
                {
                    selectedActIndex = actsList.IndexOf((ActivitiesGroup)actsList.CurrentItem);
                }
                if (selectedActIndex >= 0)
                {
                    actsList.Move(actsList.Count - 1, selectedActIndex + 1);
                }
            }
        }
Esempio n. 8
0
        public void BizFlowAddActivitiesFromSharedRepoSaveLoad()
        {
            //Arrange
            int    ActivitiesToCreate = 5;
            string FileName           = TestResources.GetTempFile("BFSaveLoad.xml");

            BusinessFlow BF = new BusinessFlow()
            {
                Name = "Biz flow 1", Description = "Desc 1"
            };

            BF.Activities = new ObservableList <Activity>();

            for (int i = 1; i <= ActivitiesToCreate; i++)
            {
                Activity a = new Activity()
                {
                    ActivityName = "Activity " + i, Description = "desc" + i, Status = eRunStatus.Passed
                };
                BF.AddActivity(a);

                //for (int j = 1; j <= 2; j++)
                //{
                //    ActTextBox t = new ActTextBox();
                //    t.Description = "Set text box " + j;
                //    t.LocateBy = Act.eLocatorType.ByID;
                //    t.LocateValue = "ID" + j;
                //    a.Acts.Add(t);

                //    ActGotoURL g = new ActGotoURL();
                //    g.Description = "goto URL " + j;
                //    g.LocateValue = "ID" + j;
                //    a.Acts.Add(g);
                //}
            }
            VariableString v = new VariableString();

            v.Name        = "Var1";
            v.Description = "VDesc 1";
            BF.AddVariable(v);

            //ValidationDB vdb = new ValidationDB() { Description ="DBV1", Expected ="exp1" };
            //BF.Activities[0].Asserts.Add(vdb);

            //Act
            BF.RepositorySerializer.SaveToFile(BF, FileName);

            // Assert
            NewRepositorySerializer newRepositorySerializer = new NewRepositorySerializer();
            BusinessFlow            BF2 = (BusinessFlow)newRepositorySerializer.DeserializeFromFile(typeof(BusinessFlow), FileName);

            Assert.AreEqual(BF2.Activities.Count(), ActivitiesToCreate);
            //Assert.AreEqual(BF2. Activities[0].Asserts.Count(), 1);
            //BF2.Description = "aaa";
        }
Esempio n. 9
0
        public void PreviousActivityName()
        {
            //Arrange
            GingerCore.Activity activity = new GingerCore.Activity();
            activity.ActivityName = "Activity2";
            activity.Active       = true;
            ActDummy dummy = new ActDummy();

            dummy.Active = true;
            dummy.Value  = "{FD Object=PreviousActivity Field=ActivityName}";
            activity.Acts.Add(dummy);
            mBF.AddActivity(activity);

            //Act
            runner.RunRunner();
            string v = dummy.ValueForDriver;

            //Assert
            Assert.AreEqual(v, "Activity1");
        }
        private BusinessFlow ConvertRunSetToBF(IReportInfo reportInfo)
        {
            RunsetExecutor runSetExec = WorkSpace.Instance.RunsetExecutor;

            try
            {
                if (reportInfo == null)
                {
                    return(null);
                }

                //Create Business Flow
                BusinessFlow virtualBF = new BusinessFlow();
                virtualBF.Name        = runSetExec.RunSetConfig.Name;
                virtualBF.Description = runSetExec.RunSetConfig.Description;
                virtualBF.Status      = BusinessFlow.eBusinessFlowStatus.Unknown;
                virtualBF.RunStatus   = runSetExec.RunSetConfig.RunSetExecutionStatus;
                virtualBF.Activities  = new ObservableList <Activity>();
                foreach (GingerRunner runSetrunner in runSetExec.Runners)
                {
                    // if executor is null when run if from file
                    if (runSetrunner.Executor is null)
                    {
                        runSetrunner.Executor = new GingerExecutionEngine(runSetrunner);
                    }
                    foreach (BusinessFlow runSetBF in runSetrunner.Executor.BusinessFlows)
                    {
                        ActivitiesGroup virtualAG = new ActivitiesGroup();
                        virtualAG.Name        = runSetBF.Name;
                        virtualAG.Description = runSetBF.Description;
                        if (Enum.IsDefined(typeof(eActivitiesGroupRunStatus), runSetBF.RunStatus.ToString()))
                        {
                            virtualAG.RunStatus = (eActivitiesGroupRunStatus)Enum.Parse(typeof(eActivitiesGroupRunStatus), runSetBF.RunStatus.ToString());
                        }
                        else
                        {
                            virtualAG.RunStatus = eActivitiesGroupRunStatus.NA;
                        }
                        virtualBF.AddActivitiesGroup(virtualAG);
                        foreach (Activity runSetAct in runSetBF.Activities)
                        {
                            virtualBF.AddActivity(runSetAct, virtualAG);
                        }
                    }
                }
                return(virtualBF);
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, $"Failed to convert Run Set to BF for ALM Export", ex);
                return(null);
            }
        }
Esempio n. 11
0
        private void grdActivities_ItemDropped(object sender, EventArgs e)
        {
            object droppedItem = ((DragInfo)sender).Data;

            if (droppedItem.GetType() == typeof(Activity))
            {
                Activity instance = (Activity)((Activity)droppedItem).CreateInstance(true);
                instance.Active = true;

                mBusinessFlow.SetActivityTargetApplication(instance);
                mBusinessFlow.AddActivity(instance);
            }
            else if (droppedItem.GetType() == typeof(ActivitiesGroup))
            {
                ActivitiesGroup droppedGroupIns = (ActivitiesGroup)((ActivitiesGroup)droppedItem).CreateInstance(true);
                mBusinessFlow.AddActivitiesGroup(droppedGroupIns);
                ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>();
                mBusinessFlow.ImportActivitiesGroupActivitiesFromRepository(droppedGroupIns, activities, false);
                mBusinessFlow.AttachActivitiesGroupsAndActivities();
            }
        }
Esempio n. 12
0
        public void AddActivityToExistingGroupTest()
        {
            //Arrange
            BusinessFlow busFlow = new BusinessFlow();

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);

            Activity activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity1, group1);
            busFlow.AddActivity(activity2, group1);
            busFlow.AddActivity(activity3, group1);

            busFlow.AddActivity(activity4, group2);
            busFlow.AddActivity(activity5, group2);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();
            Activity activity6 = new Activity()
            {
                ActivityName = "Activity6"
            };

            busFlow.AddActivity(activity6, group1);

            //Assert
            Assert.IsTrue(busFlow.Activities[3] == activity6, "Validate new Activity added in last of existing group Activities");
            Assert.IsTrue(activity6.ActivitiesGroupID == group1.Name, "Validate new Activity is mapped to existing group");
            Assert.IsTrue(group1.ActivitiesIdentifiers[group1.ActivitiesIdentifiers.Count - 1].IdentifiedActivity == activity6, "Validate new Activity is mapped to existing group");
        }
        public void TestInitialize()
        {
            Context      = new Context();
            mDriver      = new TestDriver();
            PlatformInfo = new TestPlatform();
            mBF          = new BusinessFlow()
            {
                Name = "TestRecordingBF", Active = true
            };
            Activity activity = new Activity();

            mBF.AddActivity(activity);
            Context.BusinessFlow = mBF;
        }
        public void TestInitialize()
        {
            Context      = new Context();
            mDriver      = new TestDriver();
            PlatformInfo = new TestPlatform();
            mBF          = new BusinessFlow()
            {
                Name = "TestRecordingBF", Active = true
            };
            Activity activity = new Activity();

            mBF.AddActivity(activity);
            Context.BusinessFlow = mBF;

            Context.Target = new Amdocs.Ginger.Common.Repository.TargetBase();
        }
Esempio n. 15
0
        private static void GetActivityWithActGenElementActions()
        {
            mBF = new BusinessFlow()
            {
                Name = "TestBFConversion", Active = true
            };

            Activity activity = new Activity();

            activity.SelectedForConversion = true;
            ActGenElement gen1 = new ActGenElement();

            gen1.Active           = true;
            gen1.Description      = "Set Value : first_name input";
            gen1.LocateBy         = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath;
            gen1.LocateValue      = "//input[@name='first_name']";
            gen1.GenElementAction = ActGenElement.eGenElementAction.SendKeys;
            activity.Acts.Add(gen1);

            mBF.AddActivity(activity);
        }
Esempio n. 16
0
        private void Split(object sender, RoutedEventArgs e)
        {
            Act      CurrentAction = (Act)grdActions.CurrentItem;
            Activity activity      = new Activity()
            {
                Active = true
            };

            activity.TargetApplication = mCurrentActivity.TargetApplication;
            activity.ActivityName      = CurrentAction.Description;


            // Find the action index to split on
            int i = 0;

            for (i = 0; i < mCurrentActivity.Acts.Count; i++)
            {
                if (mCurrentActivity.Acts[i] == CurrentAction)
                {
                    break;
                }
            }

            // Move the actions to the new activity
            for (int j = i; j < mCurrentActivity.Acts.Count; j++)
            {
                IAct a1 = mCurrentActivity.Acts[j];
                activity.Acts.Add(a1);
            }

            // remove the actions to from current activity - need to happen in 2 steps so the array count will not change while looping backwards
            for (int j = mCurrentActivity.Acts.Count - 1; j >= i; j--)
            {
                IAct a1 = mCurrentActivity.Acts[j];
                mCurrentActivity.Acts.Remove(a1);
            }
            mBusinessFlow.AddActivity(activity);
            mBusinessFlow.Activities.CurrentItem = activity;
        }
Esempio n. 17
0
 private void AddFromRepository(object sender, RoutedEventArgs e)
 {
     if (mInTreeModeView == false)
     {
         if (xActivitiesRepositoryGrid.Grid.SelectedItems != null && xActivitiesRepositoryGrid.Grid.SelectedItems.Count > 0)
         {
             foreach (Activity selectedItem in xActivitiesRepositoryGrid.Grid.SelectedItems)
             {
                 if (mBusinessFlow != null)
                 {
                     Activity instance = (Activity)selectedItem.CreateInstance(true);
                     instance.Active = true;
                     mBusinessFlow.SetActivityTargetApplication(instance);
                     mBusinessFlow.AddActivity(instance, true);
                 }
             }
         }
         else
         {
             Reporter.ToUser(eUserMsgKeys.NoItemWasSelected);
         }
     }
 }
Esempio n. 18
0
        public static void ClassInit(TestContext context)
        {
            Solution = new Solution();
            BF       = new BusinessFlow();

            VariableString VarString = new VariableString();

            VarString.Name            = "BF_VarString";
            VarString.SetAsInputValue = true;
            VarString.MandatoryInput  = true;
            BF.Variables.Add(VarString);

            VariableSelectionList VarList = new VariableSelectionList();

            VarList.Name            = "BF_VarList";
            VarList.SetAsInputValue = true;
            VarList.MandatoryInput  = true;
            VarList.OptionalValuesList.Add(new OptionalValue(value: " "));
            VarList.OptionalValuesList.Add(new OptionalValue(value: "aa"));
            VarList.OptionalValuesList.Add(new OptionalValue(value: "bb"));
            VarList.Value = " ";
            BF.Variables.Add(VarList);

            Activity Acty = new Activity();

            Acty.ActivityName = "Act1";

            BF.AddActivity(Acty);
            VariableString VarString2 = new VariableString();

            VarString2.Name = "NewVarString";
            Acty.AddVariable(VarString2);

            VariableString VarString3 = new VariableString();

            VarString3.Name            = "NewVarString3";
            VarString3.SetAsInputValue = true;
            VarString3.MandatoryInput  = true;
            VarString3.Value           = "test123";
            Acty.AddVariable(VarString3);

            VariableString VarString4 = new VariableString();

            VarString4.Name = "NewVarString";
            Acty.AddVariable(VarString4);

            VariableString VarString5 = new VariableString();

            VarString5.Name = "NewVarString";
            Acty.AddVariable(VarString5);

            VariableString VarString6 = new VariableString();

            VarString6.Name            = "NewVarString6";
            VarString6.SetAsInputValue = true;
            VarString6.MandatoryInput  = true;
            Acty.AddVariable(VarString6);

            ActDummy DummyAction = new ActDummy();

            Acty.Acts.Add(DummyAction);

            //ActReturnValue with static value
            ActReturnValue ARV1 = new ActReturnValue
            {
                Param    = "Value1",
                Expected = "Test1"
            };

            DummyAction.ReturnValues.Add(ARV1);



            //ActReturnValue with static value and variable

            ActReturnValue ARV2 = new ActReturnValue
            {
                Param    = "Value2",
                Expected = "Test1{Var Name=NewVarString}"
            };

            DummyAction.ReturnValues.Add(ARV2);

            //ActReturnValue with two variables
            ActReturnValue ARV3 = new ActReturnValue
            {
                Param    = "Value3",
                Expected = "{Var Name=NewVarString3}{Var Name=NewVarString}"
            };

            DummyAction.ReturnValues.Add(ARV3);
            //ActReturnValue with  variables follwed by static value
            ActReturnValue ARV4 = new ActReturnValue
            {
                Param    = "Value4",
                Expected = "{Var Name=NewVarString3}test"
            };

            DummyAction.ReturnValues.Add(ARV4);

            ActReturnValue ARV5 = new ActReturnValue
            {
                Param    = "Value5",
                Expected = "{Var Name=NewVarString3}"
            };

            DummyAction.ReturnValues.Add(ARV5);

            ABF = (AnalyzeBusinessFlow)AnalyzeBusinessFlow.Analyze(Solution, BF).Where(x => x.Description.Equals(AnalyzeBusinessFlow.LegacyOutPutValidationDescription)).First();
        }
Esempio n. 19
0
        public void BackUpRestore()
        {
            //Arrange
            int    ActivitiesToCreate = 5;
            string BizFlowName        = "Biz flow Back/Rest";
            string BizFlowDescription = "Desc Back/Rest tester";

            BusinessFlow BF = new BusinessFlow()
            {
                Name = BizFlowName
            };

            BF.Status     = BusinessFlow.eBusinessFlowStatus.Development;
            BF.Activities = new ObservableList <Activity>();
            ObservableList <Activity> OriginalActivitiesObj = BF.Activities;

            for (int i = 1; i <= ActivitiesToCreate; i++)
            {
                Activity a = new Activity()
                {
                    ActivityName = "Activity " + i, Description = "desc" + i, Status = eRunStatus.Passed
                };
                BF.AddActivity(a);
            }

            // Create Activity to check ref
            Activity a6 = new Activity()
            {
                ActivityName = "a6"
            };

            BF.Activities.Add(a6);

            // Add one action to make sure backup drill down, and restore the ref item not a copy
            ActGotoURL act1 = new ActGotoURL();

            act1.Description = "Goto URL 1";
            a6.Acts.Add(act1);

            //add action with input/output vals
            act1.InputValues = new ObservableList <ActInputValue>();
            string        firstInputValName = "Param1";
            ActInputValue firstInputVal     = new ActInputValue()
            {
                Param = firstInputValName
            };

            act1.InputValues.Add(firstInputVal);
            act1.InputValues.Add(new ActInputValue()
            {
                Param = "Param2"
            });

            //add flow control
            act1.FlowControls = new ObservableList <FlowControl>();
            act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "A=B", FlowControlAction = eFlowControlAction.GoToActivity
            });
            eFlowControlAction secondFlowControlAction = eFlowControlAction.RerunAction;

            GingerCore.FlowControlLib.FlowControl secondFlowControl = new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "C>123", FlowControlAction = secondFlowControlAction
            };
            act1.FlowControls.Add(secondFlowControl);
            act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "D=111", FlowControlAction = eFlowControlAction.StopRun
            });

            //BF Variables
            VariableString v = new VariableString();

            v.Name        = "Var1";
            v.Description = "VDesc 1";
            BF.AddVariable(v);
            VariableSelectionList sl = new VariableSelectionList();

            sl.Name = "Var 2";
            sl.OptionalValuesList = new ObservableList <OptionalValue>();
            sl.OptionalValuesList.Add(new OptionalValue("11"));
            sl.OptionalValuesList.Add(new OptionalValue("22"));
            sl.OptionalValuesList.Add(new OptionalValue("33"));
            BF.AddVariable(sl);

            // BF.SaveBackup();

            BF.SaveBackup();

            //Erase/Modify some stuff
            BF.Name        = "zzzz";
            BF.Description = BizFlowDescription;
            BF.Status      = BusinessFlow.eBusinessFlowStatus.Retired;
            BF.Activities[1].Description = "AAAA";
            BF.Activities.Remove(BF.Activities[2]);
            BF.Activities.Remove(BF.Activities[3]);
            act1.Description = "ZZZZZ";

            act1.InputValues[0].Param = "qqq";
            act1.InputValues.Remove(act1.InputValues[1]);

            act1.FlowControls[1].FlowControlAction = eFlowControlAction.MessageBox;
            act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "Val=123"
            });
            act1.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "Val=555"
            });

            sl.OptionalValuesList[0].Value = "aaaa";
            sl.OptionalValuesList.Add(new OptionalValue("44"));
            sl.OptionalValuesList.Add(new OptionalValue("55"));

            // BF.RestoreFromBackup();
            BF.RestoreFromBackup();

            // Assert
            Assert.AreEqual(BF.Name, BizFlowName, "BF.Name");
            Assert.AreEqual(BF.Description, null, "BF.Description");

            // check enum restore
            Assert.AreEqual(BF.Status, BusinessFlow.eBusinessFlowStatus.Development, "BF.Status");
            Assert.AreEqual(BF.Activities.Count(), ActivitiesToCreate + 1, "BF.Activities.Count()");

            //check original list ref obj
            Assert.AreEqual(BF.Activities, OriginalActivitiesObj, "BF.Activities REF");
            Assert.AreEqual(BF.Activities[0].Description, "desc1", "BF.Activities[0].Description");
            Assert.AreEqual(BF.Activities[5].ActivityName, "a6", "BF.Activities[5].ActivityName");

            // Check original action ref is back
            Assert.AreEqual(BF.Activities[5], a6, "BF.Activities[5] REF");
            Assert.AreEqual(act1.Description, "Goto URL 1", "act1.Description");
            Assert.AreEqual(a6.Acts[0], act1, "a6.Acts[0]");

            //check Action input values
            Assert.AreEqual(act1.InputValues.Count, 2, "act1.InputValues.Count");
            Assert.AreEqual(act1.InputValues[0], firstInputVal, "act1.InputValues[0] REF");
            Assert.AreEqual(act1.InputValues[0].Param, firstInputValName, "act1.InputValues[0].Param");

            //check Action flow control
            Assert.AreEqual(act1.FlowControls.Count, 3, "act1.FlowControls.Count");
            Assert.AreEqual(act1.FlowControls[1], secondFlowControl, "act1.FlowControls[1] REF");
            Assert.AreEqual(act1.FlowControls[1].FlowControlAction, secondFlowControlAction, "act1.FlowControls[1].FlowControlAction");

            //BF variables
            Assert.AreEqual(BF.Variables.Count, 2, "BF.Variables.Count");
            Assert.AreEqual(BF.Variables[1], sl, "BF.Variables[0] REF");
            Assert.AreEqual(((VariableSelectionList)BF.Variables[1]).OptionalValuesList[0].Value, "11", "BF.Variables[0].Value");
        }
Esempio n. 20
0
        public void JavaActGenericSetValueToUIElementSetValue()
        {
            Activity activity = GetJavaActivityforConversionTest();

            ActGenElement genAction = new ActGenElement();

            genAction.Active           = true;
            genAction.Description      = "Set Value : txtEmployeeID";
            genAction.LocateBy         = Amdocs.Ginger.Common.UIElement.eLocateBy.ByName;
            genAction.LocateValue      = "txtEmployeeID";
            genAction.Value            = "12321";
            genAction.GenElementAction = ActGenElement.eGenElementAction.SetValue;
            activity.Acts.Add(genAction);

            mBF.AddActivity(activity);

            // Act & Assert
            JavaGenericToUIElementConversionActAndAssert(genAction);
        }
Esempio n. 21
0
        private static void GetMultipleBFActGenElementActions()
        {
            mListBF = new ObservableList <BusinessFlow>();
            BusinessFlow webBF = new BusinessFlow()
            {
                Name = "TestBFWebConversion", Active = true
            };
            BusinessFlow winBF = new BusinessFlow()
            {
                Name = "TestBFWinConversion", Active = true
            };
            BusinessFlow pbBF = new BusinessFlow()
            {
                Name = "TestBFPBConversion", Active = true
            };

            Activity webActivity = new Activity();

            webActivity.Active = true;
            webActivity.SelectedForConversion = true;
            webActivity.TargetApplication     = "Web-App";
            ActGenElement gen1 = new ActGenElement();

            gen1.Active           = true;
            gen1.Description      = "Set Value : first_name input";
            gen1.LocateBy         = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath;
            gen1.LocateValue      = "//input[@name='first_name']";
            gen1.GenElementAction = ActGenElement.eGenElementAction.SendKeys;
            webActivity.Acts.Add(gen1);

            webBF.AddActivity(webActivity);
            mListBF.Add(webBF);

            Activity winActivity = new Activity();

            winActivity.Active = true;
            winActivity.SelectedForConversion = true;
            winActivity.TargetApplication     = "Web-App";
            ActGenElement gen2 = new ActGenElement();

            gen2.Active           = true;
            gen2.Description      = "Set Value : last_name input";
            gen2.LocateBy         = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath;
            gen2.LocateValue      = "//input[@name='last_name']";
            gen2.GenElementAction = ActGenElement.eGenElementAction.SendKeys;
            winActivity.Acts.Add(gen2);

            winBF.AddActivity(winActivity);
            mListBF.Add(winBF);

            Activity pbActivity = new Activity();

            pbActivity.Active = true;
            pbActivity.SelectedForConversion = true;
            pbActivity.TargetApplication     = "Web-App";
            ActGenElement gen3 = new ActGenElement();

            gen3.Active           = true;
            gen3.Description      = "Set Value : email input";
            gen3.LocateBy         = Amdocs.Ginger.Common.UIElement.eLocateBy.ByRelXPath;
            gen3.LocateValue      = "//input[@name='email']";
            gen3.GenElementAction = ActGenElement.eGenElementAction.SendKeys;
            pbActivity.Acts.Add(gen3);

            pbBF.AddActivity(pbActivity);
            mListBF.Add(pbBF);
        }
Esempio n. 22
0
        public void MoveActivityInGroupsTest2()
        {
            //Arrange
            BusinessFlow busFlow = new BusinessFlow();

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);
            ActivitiesGroup group3 = new ActivitiesGroup()
            {
                Name = "Group3"
            };

            busFlow.AddActivitiesGroup(group3);

            Activity activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };
            Activity activity6 = new Activity()
            {
                ActivityName = "Activity6"
            };

            busFlow.AddActivity(activity1, group1);

            busFlow.AddActivity(activity2, group2);
            busFlow.AddActivity(activity3, group2);
            busFlow.AddActivity(activity4, group2);
            busFlow.AddActivity(activity5, group2);

            busFlow.AddActivity(activity6, group3);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();
            busFlow.MoveActivityInGroup(activity5, 1);

            //Assert
            Assert.IsTrue(busFlow.Activities.IndexOf(activity5) == 1, "Validate Activity moved to correct index in Activities list");
            Assert.IsTrue(group2.ActivitiesIdentifiers.IndexOf(group2.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity5).First()) == 0, "Validate Activity moved to correct indx in target group");
        }
Esempio n. 23
0
        public void GroupUnGroupedActivitiesTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);
            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);
            group1.AddActivityToGroup(activity1);
            group2.AddActivityToGroup(activity4);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();

            //Assert
            Assert.IsTrue(busFlow.ActivitiesGroups.Count == 2, "Validate no extra groups were added");
            Assert.IsTrue(group1.ActivitiesIdentifiers.Count == 3, "Validate first three Activities were attached to first group");
            Assert.IsTrue(group2.ActivitiesIdentifiers.Count == 2, "Validate last two Activities were attached to second group");
            Assert.IsTrue(group1.ActivitiesIdentifiers[2].ActivityName == activity3.ActivityName, "Validate group 1 has correct activities mapped to it");
            Assert.IsTrue(group2.ActivitiesIdentifiers[1].ActivityName == activity5.ActivityName, "Validate group 2 has correct activities mapped to it");
            Assert.IsTrue(activity2.ActivitiesGroupID == group1.Name, "Validate Activities mapped to group 1");
            Assert.IsTrue(activity5.ActivitiesGroupID == group2.Name, "Validate Activities mapped to group 2");
        }
Esempio n. 24
0
        public void MoveActivityBetweenGroupsTest3()
        {
            //Arrange
            BusinessFlow busFlow = new BusinessFlow();

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);
            ActivitiesGroup group3 = new ActivitiesGroup()
            {
                Name = "Group3"
            };

            busFlow.AddActivitiesGroup(group3);

            Activity activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };
            Activity activity6 = new Activity()
            {
                ActivityName = "Activity6"
            };

            busFlow.AddActivity(activity1, group1);
            busFlow.AddActivity(activity2, group1);

            busFlow.AddActivity(activity3, group2);
            busFlow.AddActivity(activity4, group2);

            busFlow.AddActivity(activity5, group3);
            busFlow.AddActivity(activity6, group3);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();
            busFlow.MoveActivityBetweenGroups(activity6, group2, 2);

            //Assert
            Assert.IsTrue(group3.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity6).FirstOrDefault() == null, "Validate Activity removed from original group");
            Assert.IsTrue(activity6.ActivitiesGroupID == group2.Name, "Validate Activity moved to target group");
            Assert.IsTrue(busFlow.Activities.IndexOf(activity6) == 2, "Validate Activity moved to correct index in Activities list");
            Assert.IsTrue(group2.ActivitiesIdentifiers.IndexOf(group2.ActivitiesIdentifiers.Where(x => x.IdentifiedActivity == activity6).First()) == 0, "Validate Activity moved to correct indx in target group");
        }
Esempio n. 25
0
        public void AddActivityWithNewGroupTest()
        {
            //Arrange
            BusinessFlow busFlow = new BusinessFlow();

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);

            Activity activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity1, group1);
            busFlow.AddActivity(activity2, group1);
            busFlow.AddActivity(activity3, group1);

            busFlow.AddActivity(activity4, group2);
            busFlow.AddActivity(activity5, group2);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();
            ActivitiesGroup group3 = new ActivitiesGroup()
            {
                Name = "Group3"
            };

            busFlow.AddActivitiesGroup(group3);
            Activity activity6 = new Activity()
            {
                ActivityName = "Activity6"
            };

            busFlow.AddActivity(activity6, group3);

            //Assert
            Assert.IsTrue(busFlow.Activities[5] == activity6, "Validate new Activity added in last");
            Assert.IsTrue(busFlow.ActivitiesGroups[2] == group3, "Validate new group was added to BF");
            Assert.IsTrue(activity6.ActivitiesGroupID == group3.Name, "Validate new Activity is mapped to new group");
            Assert.IsTrue(group3.ActivitiesIdentifiers[0].IdentifiedActivity == activity6, "Validate new Activity is mapped to new group");
        }
Esempio n. 26
0
        public void CreateNewGroupToUnSyncedGroupedActivitiesTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);

            group1.AddActivityToGroup(activity1);
            group1.AddActivityToGroup(activity2);
            group2.AddActivityToGroup(activity3);
            group1.AddActivityToGroup(activity4);
            group1.AddActivityToGroup(activity5);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();

            //Assert
            Assert.IsTrue(busFlow.ActivitiesGroups.Count == 3, "Validate 1 extra groups were added");
            Assert.IsTrue(group1.ActivitiesIdentifiers.Count == 2, "Validate only 2 Activities are attached to first group");
            Assert.IsTrue(group2.ActivitiesIdentifiers.Count == 1, "Validate 1 Activities were attached to second group");
            Assert.IsTrue(busFlow.ActivitiesGroups.Where(x => x.Name == group1.Name + "_2").FirstOrDefault() != null, "Validate new added group name");
            Assert.IsTrue(activity4.ActivitiesGroupID == group1.Name + "_2", "Validate Activity was re-grouped to new added group");
            Assert.IsTrue(activity5.ActivitiesGroupID == group1.Name + "_2", "Validate Activity was re-grouped to new added group");
        }
Esempio n. 27
0
        public void GroupsActivitiesOrderTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);

            group1.AddActivityToGroup(activity3);
            group1.AddActivityToGroup(activity2);
            group1.AddActivityToGroup(activity1);
            group2.AddActivityToGroup(activity4);
            group2.AddActivityToGroup(activity5);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();

            //Assert
            Assert.IsTrue(group1.ActivitiesIdentifiers[0].IdentifiedActivity == activity1, "Validate group 1 Activity 1 order is same as in Activities flow");
            Assert.IsTrue(group1.ActivitiesIdentifiers[1].IdentifiedActivity == activity2, "Validate group 1 Activity 2 order is same as in Activities flow");
            Assert.IsTrue(group1.ActivitiesIdentifiers[2].IdentifiedActivity == activity3, "Validate group 1 Activity 3 order is same as in Activities flow");
            Assert.IsTrue(group2.ActivitiesIdentifiers[0].IdentifiedActivity == activity4, "Validate group 2 Activity 4 order is same as in Activities flow");
            Assert.IsTrue(group2.ActivitiesIdentifiers[1].IdentifiedActivity == activity5, "Validate group 2 Activity 5 order is same as in Activities flow");
        }
Esempio n. 28
0
        public void GroupsOrderTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);

            ActivitiesGroup group3 = new ActivitiesGroup()
            {
                Name = "Group3"
            };

            busFlow.AddActivitiesGroup(group3);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);
            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);

            group1.AddActivityToGroup(activity1);
            group1.AddActivityToGroup(activity2);
            group2.AddActivityToGroup(activity3);
            group3.AddActivityToGroup(activity4);
            group3.AddActivityToGroup(activity5);

            //Act
            busFlow.AttachActivitiesGroupsAndActivities();

            //Assert
            Assert.IsTrue(busFlow.ActivitiesGroups[0] == group1, "Validate first group is group 1 same as in Activities flow");
            Assert.IsTrue(busFlow.ActivitiesGroups[1] == group2, "Validate first group is group 2 same as in Activities flow");
            Assert.IsTrue(busFlow.ActivitiesGroups[2] == group3, "Validate first group is group 3 same as in Activities flow");
        }
Esempio n. 29
0
        public void CreateActivities()
        {
            // We put all template optimized activity in Activities Group

            ActivitiesGroup AG = (ActivitiesGroup)(from x in mBizFlow.ActivitiesGroups where x.Name == "Optimized Activities" select x).FirstOrDefault();

            if (AG == null)
            {
                AG      = new ActivitiesGroup();
                AG.Name = "Optimized Activities";
                mBizFlow.ActivitiesGroups.Add(AG);
            }
            ActivitiesGroup AG1 = (ActivitiesGroup)(from x in mBizFlow.ActivitiesGroups where x.Name == "Optimized Activities - Not in Use" select x).FirstOrDefault();

            if (AG1 == null)
            {
                AG1      = new ActivitiesGroup();
                AG1.Name = "Optimized Activities - Not in Use";
                mBizFlow.ActivitiesGroups.Add(AG1);
            }

            foreach (ActivityIdentifiers ia in AG.ActivitiesIdentifiers)
            {
                Activity a1 = (Activity)(from x in mBizFlow.Activities where x.Guid == ia.ActivityGuid select x).FirstOrDefault();
                if (!AG1.CheckActivityInGroup(a1))
                {
                    AG1.AddActivityToGroup(a1);
                }
            }

            // Search each activity if not found create new
            foreach (GherkinStep GH in mOptimizedSteps)
            {
                Activity a1 = (Activity)(from x in mBizFlow.Activities where x.ActivityName == GH.Text select x).FirstOrDefault();
                if (a1 == null)
                {
                    if (GH.AutomationStatus == "Automated in Shared Repo - ")
                    {
                        ObservableList <Activity> activities = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>();
                        Activity a2 = (Activity)
                                      (from x in activities where x.ActivityName == GH.Text select x).FirstOrDefault();
                        //FIXME
                        if (a2 != null)
                        {
                            mBizFlow.AddActivity(a2);
                            a2.Active = false;
                            AG.AddActivityToGroup(a2);
                        }
                    }
                    else
                    {
                        Activity a = new Activity();
                        a.ActivityName      = GH.Text;
                        a.Active            = false;
                        a.TargetApplication = WorkSpace.UserProfile.Solution.MainApplication;
                        a.ActionRunOption   = eActionRunOption.ContinueActionsRunOnFailure;
                        CreateActivityVariables(a);
                        CreateActivitySelectionVariables(a);
                        mBizFlow.AddActivity(a);

                        AG.AddActivityToGroup(a);
                    }
                }
                //TODO: handle if exist we need to update !?
                else
                {
                    AG1.RemoveActivityFromGroup(a1);
                }
            }
            foreach (ActivityIdentifiers ia in AG1.ActivitiesIdentifiers)
            {
                Activity a1 = (Activity)
                              (from x in mBizFlow.Activities where x.Guid == ia.ActivityGuid select x).FirstOrDefault();
                if (AG.CheckActivityInGroup(a1))
                {
                    AG.RemoveActivityFromGroup(a1);
                }
            }
            WorkSpace.Instance.SolutionRepository.SaveRepositoryItem(mBizFlow);
        }
Esempio n. 30
0
        public void MoveActivitiesGroupDownTest()
        {
            //Arrange
            BusinessFlow busFlow   = new BusinessFlow();
            Activity     activity1 = new Activity()
            {
                ActivityName = "Activity1"
            };

            busFlow.AddActivity(activity1);
            Activity activity2 = new Activity()
            {
                ActivityName = "Activity2"
            };

            busFlow.AddActivity(activity2);
            Activity activity3 = new Activity()
            {
                ActivityName = "Activity3"
            };

            busFlow.AddActivity(activity3);
            Activity activity4 = new Activity()
            {
                ActivityName = "Activity4"
            };

            busFlow.AddActivity(activity4);
            Activity activity5 = new Activity()
            {
                ActivityName = "Activity5"
            };

            busFlow.AddActivity(activity5);
            Activity activity6 = new Activity()
            {
                ActivityName = "Activity6"
            };

            busFlow.AddActivity(activity6);

            ActivitiesGroup group1 = new ActivitiesGroup()
            {
                Name = "Group1"
            };

            busFlow.AddActivitiesGroup(group1);
            ActivitiesGroup group2 = new ActivitiesGroup()
            {
                Name = "Group2"
            };

            busFlow.AddActivitiesGroup(group2);
            ActivitiesGroup group3 = new ActivitiesGroup()
            {
                Name = "Group3"
            };

            busFlow.AddActivitiesGroup(group3);

            group1.AddActivityToGroup(activity1);
            group1.AddActivityToGroup(activity2);
            group2.AddActivityToGroup(activity3);
            group2.AddActivityToGroup(activity4);
            group2.AddActivityToGroup(activity5);
            group3.AddActivityToGroup(activity6);

            //Act
            busFlow.MoveActivitiesGroupDown(group1);

            //Assert
            Assert.IsTrue(busFlow.ActivitiesGroups[0] == group2, "Validate group 2 moved to place 1");
            Assert.IsTrue(busFlow.ActivitiesGroups[1] == group1, "Validate group 1 moved to place 2");
            Assert.IsTrue(busFlow.Activities[0] == activity3, "Validate group 2 Activities moved up");
            Assert.IsTrue(busFlow.Activities[1] == activity4, "Validate group 2 Activities moved up");
            Assert.IsTrue(busFlow.Activities[2] == activity5, "Validate group 2 Activities moved up");
            Assert.IsTrue(busFlow.Activities[3] == activity1, "Validate group 1 Activities moved down");
            Assert.IsTrue(busFlow.Activities[4] == activity2, "Validate group 1 Activities moved down");
        }