Exemplo n.º 1
0
        public void FlowControlTestFor_IfFailed_StopRunner()
        {
            //Arrange
            ResetBusinessFlow();

            Activity a1 = new Activity();

            a1.Active            = true;
            a1.TargetApplication = "App1";
            mBF.Activities.Add(a1);

            ActDummy act1 = new ActDummy()
            {
                Description = "A1", Active = true,
            };

            a1.Acts.Add(act1);

            ActDummy act2 = new ActDummy()
            {
                Description = "A2", Active = false
            };

            a1.Acts.Add(act2);

            ActDummy act3 = new ActDummy()
            {
                Description = "A3", Active = true
            };

            a1.Acts.Add(act3);
            act3.FlowControls.Add(new GingerCore.FlowControlLib.FlowControl()
            {
                Condition = "1=1", FlowControlAction = eFlowControlAction.StopRun, Active = true
            });


            ActDummy act4 = new ActDummy()
            {
                Description = "A2", Active = true
            };

            a1.Acts.Add(act4);
            //Act
            mGR.ResetRunnerExecutionDetails();
            mGR.RunRunner();

            //Assert
            Assert.AreEqual(mBF.RunStatus, eRunStatus.Stopped);
            Assert.AreEqual(a1.Status, eRunStatus.Stopped);
            Assert.AreEqual(act1.Status, eRunStatus.Passed);
            Assert.AreEqual(act2.Status, eRunStatus.Skipped);
            Assert.AreEqual(act3.Status, eRunStatus.Stopped);
            Assert.AreEqual(act4.Status, eRunStatus.Pending);
        }