public void KindPropertyReturnsFilterRestrictionsEnumMember() { // Arrange & Act FilterRestrictions filter = new FilterRestrictions(); // Assert Assert.Equal(CapabilitesTermKind.FilterRestrictions, filter.Kind); }
public void UnknownAnnotatableTargetReturnsDefaultFilterRestrictionsValues() { // Arrange FilterRestrictions filter = new FilterRestrictions(); EdmEntityType entityType = new EdmEntityType("NS", "Entity"); // Act bool result = filter.Load(EdmCoreModel.Instance, entityType); // Assert Assert.False(result); Assert.True(filter.IsFilterable); Assert.Null(filter.Filterable); Assert.Null(filter.RequiresFilter); Assert.Null(filter.RequiredProperties); Assert.Null(filter.NonFilterableProperties); }
/// <summary> /// Create the $filter parameter. /// </summary> /// <param name="context">The OData context.</param> /// <param name="target">The Edm annotation target.</param> /// <returns>The created <see cref="OpenApiParameter"/> or null.</returns> public static OpenApiParameter CreateFilter(this ODataContext context, IEdmVocabularyAnnotatable target) { Utils.CheckArgumentNull(context, nameof(context)); Utils.CheckArgumentNull(target, nameof(target)); FilterRestrictions filter = context.Model.GetFilterRestrictions(target); if (filter == null || filter.IsFilterable) { return(new OpenApiParameter { Reference = new OpenApiReference { Type = ReferenceType.Parameter, Id = "filter" } }); } return(null); }
public void TargetOnEntitySetReturnsCorrectFilterRestrictionsValue(EdmVocabularyAnnotationSerializationLocation location) { // Arrange const string template = @" <Annotations Target=""NS.Default/Calendars""> {0} </Annotations>"; IEdmModel model = GetEdmModel(template, location); Assert.NotNull(model); // guard IEdmEntitySet calendars = model.EntityContainer.FindEntitySet("Calendars"); Assert.NotNull(calendars); // guard // Act FilterRestrictions filter = new FilterRestrictions(); bool result = filter.Load(model, calendars); // Assert Assert.True(result); VerifyFilterRestrictions(filter); }
private static void VerifyFilterRestrictions(FilterRestrictions filter) { Assert.NotNull(filter); Assert.NotNull(filter.Filterable); Assert.False(filter.Filterable.Value); Assert.NotNull(filter.RequiresFilter); Assert.False(filter.RequiresFilter.Value); Assert.NotNull(filter.RequiredProperties); Assert.Single(filter.RequiredProperties); Assert.Equal("Id", filter.RequiredProperties.First()); Assert.NotNull(filter.NonFilterableProperties); Assert.Single(filter.NonFilterableProperties); Assert.Equal("Emails", filter.NonFilterableProperties.First()); Assert.True(filter.IsRequiredProperty("Id")); Assert.False(filter.IsRequiredProperty("ID")); Assert.True(filter.IsNonFilterableProperty("Emails")); Assert.False(filter.IsNonFilterableProperty("ID")); }