public async System.Threading.Tasks.Task CollectionReturnType_GetAsync() { using (var httpResponseMessage = new HttpResponseMessage()) using (var responseStream = new MemoryStream()) using (var streamContent = new StreamContent(responseStream)) { httpResponseMessage.Content = streamContent; var nextQueryKey = "key"; var nextQueryValue = "value"; var methodBaseUrl = string.Format("{0}/me/microsoft.graph.reminderView", this.graphBaseUrl); var requestUrl = string.Format("{0}(startDateTime='now',endDateTime='later')", methodBaseUrl); var nextPageRequestUrl = string.Format("{0}?{1}={2}", requestUrl, nextQueryKey, nextQueryValue); this.httpProvider.Setup( provider => provider.SendAsync( It.Is <HttpRequestMessage>( request => request.RequestUri.ToString().StartsWith(requestUrl) && request.Method == HttpMethod.Get), HttpCompletionOption.ResponseContentRead, CancellationToken.None)) .Returns(System.Threading.Tasks.Task.FromResult(httpResponseMessage)); var userReminderViewCollectionPage = new UserReminderViewCollectionPage { new Reminder { EventId = "id 1" }, new Reminder { EventId = "id 2" }, }; var userReminderViewCollectionResponse = new UserReminderViewCollectionResponse { Value = userReminderViewCollectionPage, AdditionalData = new Dictionary <string, object> { { "@odata.nextLink", nextPageRequestUrl } }, }; this.serializer.Setup( serializer => serializer.DeserializeObject <UserReminderViewCollectionResponse>(It.IsAny <string>())) .Returns(userReminderViewCollectionResponse); var returnedCollectionPage = await this.graphServiceClient.Me.ReminderView("now", "later").Request().GetAsync() as UserReminderViewCollectionPage; Assert.NotNull(returnedCollectionPage); Assert.Equal(userReminderViewCollectionPage, returnedCollectionPage); Assert.Equal( userReminderViewCollectionResponse.AdditionalData, returnedCollectionPage.AdditionalData); var nextPageRequest = returnedCollectionPage.NextPageRequest as UserReminderViewRequest; Assert.NotNull(nextPageRequest); Assert.Equal(new Uri(requestUrl), new Uri(nextPageRequest.RequestUrl)); Assert.Equal(1, nextPageRequest.QueryOptions.Count); Assert.Equal(nextQueryKey, nextPageRequest.QueryOptions[0].Name); Assert.Equal(nextQueryValue, nextPageRequest.QueryOptions[0].Value); } }