Пример #1
0
        public void WhenRevisionStatusIsGiven_FromClauseRevisionStatus_IsCorrect()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.OfRevisionType("draft");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            Assert.That(generatedQuery.From.RevisionStatus, Is.EqualTo("draft"));
        }
Пример #2
0
        public void TypedEntityModel_Attribute_EqualsOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.Where(x => x.Attributes["items"].Values["default"] == (object)"blah");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "items", "blah", ValuePredicateType.Equal);
        }
Пример #3
0
        public void ContentViewModel_NumberField_LessThanOrEqualToOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => x.NumberField("items") <= 2);

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "items", 2, ValuePredicateType.LessThanOrEqual);
        }
Пример #4
0
        public void ContentViewModel_StringField_NotEqualsMethod_ViaUnaryExpression()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => !x.StringField("bodyText").Equals("frank"));

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "bodyText", "frank", ValuePredicateType.NotEqual);
        }
Пример #5
0
        public void TypedEntityModel_EntitySchema_EqualsOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.Where(x => x.EntitySchema.Alias == "NewsItem");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "Alias", "NewsItem", ValuePredicateType.Equal);
        }
Пример #6
0
        public void TypedEntityModel_Id_EqualsOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.Where(x => x.Id == new HiveId(5));

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "Id", new HiveId(5), ValuePredicateType.Equal);
        }
Пример #7
0
        public void TypedEntityModel_Attribute_WithSubFieldKey_EqualsOperator_ViaExtension()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.Where(x => x.Attribute <string>("items", "subItems") == "blah");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "items", "blah", ValuePredicateType.Equal, "subItems");
        }
Пример #8
0
        public void ContentViewModel_FieldCastAsString_Equals()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => (string)x.Field("bodyText") == "frank");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "bodyText", "frank", ValuePredicateType.Equal);
        }
Пример #9
0
        public void ContentViewModel_FieldOfString_StartsWith()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => x.Field <string>("bodyText").StartsWith("frank"));

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "bodyText", "frank", ValuePredicateType.StartsWith);
        }
Пример #10
0
        public void WhenRevisionStatusIsNotGiven_FromClauseRevisionStatus_IsPublished()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.Where(x => x.Attribute <string>("whatever") == "blah");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            Assert.That(generatedQuery.From.RevisionStatus, Is.EqualTo(FromClause.RevisionStatusNotSpecified));
        }
Пример #11
0
        public void ContentViewModel_ContentType_Alias_NotEqualOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => x.ContentType.Alias != "NewsItem");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "Alias", "NewsItem", ValuePredicateType.NotEqual);
        }
Пример #12
0
        public void ContentViewModel_StringField_EqualsOperator_AndAlso_StringField_NotEqualsOperator()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContentContext(nullQueryableDataSource);
            var query   = context.Where(x => x.StringField("bodyText") == "frank" && x.StringField("title") != "bob");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "bodyText", "frank", ValuePredicateType.Equal);
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "title", "bob", ValuePredicateType.NotEqual);
        }
Пример #13
0
        public void ContentViewModel_UtcCreated_SinglePredicateRange()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context  = GenerateContentContext(nullQueryableDataSource);
            var dateTime = DateTimeOffset.Now;
            var query    = context.Where(x => x.UtcCreated <= dateTime && x.UtcCreated >= dateTime);

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "UtcCreated", dateTime, ValuePredicateType.GreaterThanOrEqual);
        }
Пример #14
0
        public void UserGroup_WithDefaultSchemaForQueryingAttribute_Equals()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <UserGroup>(nullQueryableDataSource);
            var query   = context.Where(x => x.Attributes["items"].Values["default"] == (object)"blah");

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            // Assert
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "Alias", UserGroupSchema.SchemaAlias, ValuePredicateType.Equal);
            AssertingCriteriaVisitor.Check(generatedQuery.Criteria, "items", "blah", ValuePredicateType.Equal);
        }
Пример #15
0
        public void WhenOrderByDescendingIsSpecified_SortClauseIsPopulated()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.OrderByDescending(x => x.Attribute <string>("title"));

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            Assert.That(generatedQuery.SortClauses.Any());
            var firstSortClause = generatedQuery.SortClauses.FirstOrDefault();

            Assert.That(firstSortClause.Direction, Is.EqualTo(SortDirection.Descending));
            Assert.That(firstSortClause.FieldSelector.FieldName, Is.EqualTo("title"));
        }
Пример #16
0
        public void WhenOrderThenByOrderIsSpecified_SortClausesArePopulated()
        {
            // Arrange
            var nullQueryableDataSource = new NullQueryableDataSource();
            var context = GenerateContext <TypedEntity>(nullQueryableDataSource);
            var query   = context.OrderBy(x => x.Attribute <string>("title")).ThenBy(x => x.Attribute <string>("subtitle"));

            // Act
            query.ToList();
            var generatedQuery = nullQueryableDataSource.GeneratedQueryDescription;

            Assert.That(generatedQuery.SortClauses.Count(), Is.EqualTo(2));
            var firstSortClause = generatedQuery.SortClauses.FirstOrDefault();

            Assert.That(firstSortClause.Direction, Is.EqualTo(SortDirection.Ascending));
            Assert.That(firstSortClause.FieldSelector.FieldName, Is.EqualTo("title"));
            Assert.That(firstSortClause.Priority, Is.EqualTo(0));

            var secondSortClause = generatedQuery.SortClauses.Skip(1).FirstOrDefault();

            Assert.That(secondSortClause.Direction, Is.EqualTo(SortDirection.Ascending));
            Assert.That(secondSortClause.FieldSelector.FieldName, Is.EqualTo("subtitle"));
            Assert.That(secondSortClause.Priority, Is.EqualTo(1));
        }
Пример #17
0
 private static Queryable <T> GenerateContext <T>(NullQueryableDataSource nullQueryableDataSource)
 {
     return(new Queryable <T>(new Executor(nullQueryableDataSource, null), CustomQueryParser.CreateDefault()));
 }