public void SingleTest(FilterPredicate pred, string predStr) { var titleProp = "title"; var titleVal = "test title"; var builder = new AgilityContentFilterBuilder() .AddFilter(titleProp, titleVal, pred); var filterStr = builder.Build(); var expected = WebUtility.UrlEncode($"{titleProp}[{predStr}]{titleVal}"); Assert.Equal(expected, filterStr); }
public void FilteredBuilderTest() { var titleProp = "title"; var titleVal = "test title"; var filter = new AgilityContentFilterBuilder() .AddFilter(titleProp, titleVal); var builder = GetDefaultConfiguredBuilder() .SetFilter(filter); var req = builder.Build(); Assert.Equal(HttpMethod.Get, req.Method); Assert.Equal(_apiKey, req.Headers.GetValues("APIKey").FirstOrDefault()); Assert.Equal(_guid, req.Headers.GetValues("guid").FirstOrDefault()); Assert.Equal("https://ade6cf3c-api.agilitycms.cloud/en-us/list/posts?skip=0&take=10&contentLinkDepth=1&filter=" + filter.Build(), req.RequestUri.AbsoluteUri); }
public void MultiOrTest(FilterPredicate pred, string predStr) { var titleProp = "title"; var titleVal = "test title"; var nameProp = "name"; var nameVal = "Agility"; var builder = new AgilityContentFilterBuilder() .AddFilter(titleProp, titleVal, pred, FilterExpression.Or) .AddFilter(nameProp, nameVal, pred, FilterExpression.Or); var filterStr = builder.Build(); var expected = WebUtility.UrlEncode($"{titleProp}[{predStr}]{titleVal} OR {nameProp}[{predStr}]{nameVal}"); Assert.Equal(expected, filterStr); }