Esempio n. 1
0
        public void ThenISeeAListRowCountStep(string fieldName, string comparer, int resultCount)
        {
            var page = this.GetPageFromContext();

            NumericComparisonType comparisonType;

            switch (comparer)
            {
            case "at least":
                comparisonType = NumericComparisonType.GreaterThanEquals;
                break;

            case "at most":
                comparisonType = NumericComparisonType.LessThanEquals;
                break;

            default:
                comparisonType = NumericComparisonType.Equals;
                break;
            }

            var context = new ValidateListRowCountAction.ValidateListRowCountContext(fieldName.ToLookupKey(), comparisonType, resultCount);

            this.actionPipelineService.PerformAction <ValidateListRowCountAction>(page, context).CheckResult();
        }
        public void TestExecuteWhenPropertyValidationReturnsErrorsReturnsFailureResult()
        {
            var propData = new Mock <IPropertyData>(MockBehavior.Strict);

            propData.SetupGet(p => p.IsList).Returns(true);
            propData.SetupGet(p => p.Name).Returns("MyProperty");
            propData.Setup(p => p.ValidateListRowCount(NumericComparisonType.Equals, 1))
            .Returns(new Tuple <bool, int>(false, 2));

            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
            {
                ElementLocator = locator.Object
            };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result  = rowCountAction.Execute(context);

            Assert.AreEqual(false, result.Success);
            Assert.AreEqual("List count validation of field 'MyProperty' failed. Expected Items: 1, Actual Items: 2", result.Exception.Message);

            locator.VerifyAll();
            propData.VerifyAll();
        }
        public void TestExecuteWhenPropertyIsNotAListReturnsFailureResult()
        {
            var propData = new Mock <IPropertyData>(MockBehavior.Strict);

            propData.SetupGet(p => p.IsList).Returns(false);
            propData.SetupGet(p => p.Name).Returns("MyProperty");

            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
            {
                ElementLocator = locator.Object
            };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result  = rowCountAction.Execute(context);

            Assert.AreEqual(false, result.Success);
            Assert.AreEqual("Property 'MyProperty' was found but is not a list element.", result.Exception.Message);

            locator.VerifyAll();
            propData.VerifyAll();
        }
        public void TestExecuteWhenPropertyValidationReturnsSuccessReturnsASuccess()
        {
            var propData = new Mock <IPropertyData>(MockBehavior.Strict);

            propData.SetupGet(p => p.IsList).Returns(true);
            propData.Setup(p => p.ValidateListRowCount(NumericComparisonType.Equals, 1))
            .Returns(new Tuple <bool, int>(true, 1));

            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
            {
                ElementLocator = locator.Object
            };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result  = rowCountAction.Execute(context);

            Assert.AreEqual(true, result.Success);

            locator.VerifyAll();
            propData.VerifyAll();
        }
        public void TestExecuteWhenFieldDoesNotExistThrowsAnException()
        {
            var locator = new Mock<IElementLocator>(MockBehavior.Strict);
            locator.Setup(p => p.GetProperty("doesnotexist")).Throws(new ElementExecuteException("Cannot find item"));

            var rowCountAction = new ValidateListRowCountAction
                                        {
                                            ElementLocator = locator.Object
                                        };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("doesnotexist", NumericComparisonType.Equals, 1);
            ExceptionHelper.SetupForException<ElementExecuteException>(
                () => rowCountAction.Execute(context), e => locator.VerifyAll());
        }
Esempio n. 6
0
        public void TestExecuteWhenFieldDoesNotExistThrowsAnException()
        {
            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetProperty("doesnotexist")).Throws(new ElementExecuteException("Cannot find item"));

            var rowCountAction = new ValidateListRowCountAction
            {
                ElementLocator = locator.Object
            };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("doesnotexist", NumericComparisonType.Equals, 1);

            ExceptionHelper.SetupForException <ElementExecuteException>(
                () => rowCountAction.Execute(context), e => locator.VerifyAll());
        }
        public void TestExecuteWhenPropertyIsNotAListReturnsFailureResult()
        {
            var propData = new Mock<IPropertyData>(MockBehavior.Strict);
            propData.SetupGet(p => p.IsList).Returns(false);
            propData.SetupGet(p => p.Name).Returns("MyProperty");

            var locator = new Mock<IElementLocator>(MockBehavior.Strict);
            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
                                        {
                                            ElementLocator = locator.Object
                                        };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result = rowCountAction.Execute(context);

            Assert.AreEqual(false, result.Success);
            Assert.AreEqual("Property 'MyProperty' was found but is not a list element.", result.Exception.Message);

            locator.VerifyAll();
            propData.VerifyAll();
        }
        public void TestExecuteWhenPropertyValidationReturnsErrorsReturnsFailureResult()
        {
            var propData = new Mock<IPropertyData>(MockBehavior.Strict);
            propData.SetupGet(p => p.IsList).Returns(true);
            propData.SetupGet(p => p.Name).Returns("MyProperty");
            propData.Setup(p => p.ValidateListRowCount(NumericComparisonType.Equals, 1))
                    .Returns(new Tuple<bool, int>(false, 2));

            var locator = new Mock<IElementLocator>(MockBehavior.Strict);
            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
                                        {
                                            ElementLocator = locator.Object
                                        };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result = rowCountAction.Execute(context);

            Assert.AreEqual(false, result.Success);
            Assert.AreEqual("List count validation of field 'MyProperty' failed. Expected Items: 1, Actual Items: 2", result.Exception.Message);
            
            locator.VerifyAll();
            propData.VerifyAll();
        }
        public void TestExecuteWhenPropertyValidationReturnsSuccessReturnsASuccess()
        {
            var propData = new Mock<IPropertyData>(MockBehavior.Strict);
            propData.SetupGet(p => p.IsList).Returns(true);
            propData.Setup(p => p.ValidateListRowCount(NumericComparisonType.Equals, 1))
                    .Returns(new Tuple<bool, int>(true, 1));

            var locator = new Mock<IElementLocator>(MockBehavior.Strict);
            locator.Setup(p => p.GetProperty("myproperty")).Returns(propData.Object);

            var rowCountAction = new ValidateListRowCountAction
                                        {
                                            ElementLocator = locator.Object
                                        };

            var context = new ValidateListRowCountAction.ValidateListRowCountContext("myproperty", NumericComparisonType.Equals, 1);
            var result = rowCountAction.Execute(context);

            Assert.AreEqual(true, result.Success);
            
            locator.VerifyAll();
            propData.VerifyAll();
        }
Esempio n. 10
0
        public void ThenISeeAListRowCountStep(string fieldName, string comparer, int resultCount)
        {
            var page = this.GetPageFromContext();

            NumericComparisonType comparisonType;
            switch (comparer)
            {
                case "at least":
                    comparisonType = NumericComparisonType.GreaterThanEquals;
                    break;
                case "at most":
                    comparisonType = NumericComparisonType.LessThanEquals;
                    break;
                default:
                    comparisonType = NumericComparisonType.Equals;
                    break;
            }

            var context = new ValidateListRowCountAction.ValidateListRowCountContext(fieldName.ToLookupKey(), comparisonType, resultCount);
            this.actionPipelineService.PerformAction<ValidateListRowCountAction>(page, context).CheckResult();
        }