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")); }
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); }
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); }
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); }
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); }
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); }
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"); }
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); }
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); }
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)); }
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); }
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); }
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); }
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); }
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")); }
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)); }
private static Queryable <T> GenerateContext <T>(NullQueryableDataSource nullQueryableDataSource) { return(new Queryable <T>(new Executor(nullQueryableDataSource, null), CustomQueryParser.CreateDefault())); }