public void CreateODataFeed_Ignores_NextPageLink_ForInnerFeeds() { // Arrange ODataFeedSerializer serializer = new ODataFeedSerializer(new DefaultODataSerializerProvider()); Uri nextLink = new Uri("http://somelink"); HttpRequestMessage request = new HttpRequestMessage(); request.SetNextPageLink(nextLink); var result = new object[0]; IEdmNavigationProperty navProp = new Mock<IEdmNavigationProperty>().Object; SelectExpandClause selectExpandClause = new SelectExpandClause(new SelectItem[0], allSelected: true); EntityInstanceContext entity = new EntityInstanceContext { SerializerContext = new ODataSerializerContext { Request = request, EntitySet = _customerSet } }; ODataSerializerContext nestedContext = new ODataSerializerContext(entity, selectExpandClause, navProp); // Act ODataFeed feed = serializer.CreateODataFeed(result, _customersType, nestedContext); // Assert Assert.Null(feed.NextPageLink); }
public void ApplyTo_DoesnotCalculateNextPageLink_IfRequestAlreadyHasNextPageLink() { // Arrange Uri nextPageLink = new Uri("http://localhost/nextpagelink"); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/"); ODataQueryContext context = new ODataQueryContext(EdmCoreModel.Instance, typeof(int)); ODataQueryOptions options = new ODataQueryOptions(context, request); request.SetNextPageLink(nextPageLink); // Act IQueryable result = options.ApplyTo(Enumerable.Range(0, 100).AsQueryable(), new ODataQuerySettings { PageSize = 1 }); // Assert Assert.Equal(nextPageLink, request.GetNextPageLink()); Assert.Equal(1, (result as IQueryable<int>).Count()); }
public void CreateODataFeed_Sets_NextPageLinkFromContext() { // Arrange ODataFeedSerializer serializer = new ODataFeedSerializer(new DefaultODataSerializerProvider()); Uri expectedNextLink = new Uri("http://nextlink.com"); HttpRequestMessage request = new HttpRequestMessage(); request.SetNextPageLink(expectedNextLink); var result = new object[0]; // Act ODataFeed feed = serializer.CreateODataFeed(result, _customersType, new ODataSerializerContext { Request = request }); // Assert Assert.Equal(expectedNextLink, feed.NextPageLink); }
public void CreateODataFeed_Ignores_NextPageLink_ForInnerFeeds() { // Arrange ODataFeedSerializer serializer = new ODataFeedSerializer(_customersType, new DefaultODataSerializerProvider()); Uri nextLink = new Uri("http://somelink"); HttpRequestMessage request = new HttpRequestMessage(); request.SetNextPageLink(nextLink); var result = new object[0]; // Act ODataFeed feed = serializer.CreateODataFeed(result, new ODataSerializerContext { Request = request, IsNested = true }); // Assert Assert.Null(feed.NextPageLink); }