public async Task TestGatherAllPages()

in Facebook/ConnectorTest/FacebookProviderTest.cs [35:91]


        public async Task TestGatherAllPages()
        {
            var responsePart1 = new PageListFB
            {
                Data = new[]
                {
                    new PageFB
                    {
                        Id = "1",
                        Name = "p1"
                    }
                },
                Paging = new PagingFB
                {
                    Cursors = new CursorsFB
                    {
                        Before = "NA",
                        After = "first"
                    },
                    Next = "RANDOM"
                }
            };

            var responseLastPart = new PageListFB
            {
                Data = new[]
                {
                    new PageFB
                    {
                        Id = "2",
                        Name = "p2"
                    }
                },
                Paging = new PagingFB
                {
                    Cursors = new CursorsFB
                    {
                        Before = "NA",
                        After = "first"
                    },
                    Next = null
                }
            };
            var restApiRepositoryMock = new Mock<IRestApiRepository>();
            restApiRepositoryMock.SetupSequence(x => x.GetRequestAsync<PageListFB>(It.IsAny<string>(), null,
                    It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()))
                .ReturnsAsync(responsePart1)
                .ReturnsAsync(responseLastPart);
            var facebookProvider = new FacebookProvider(new AzureTableProvider(Settings.StorageAccountConnectionString))
            {
                Client = restApiRepositoryMock.Object
            };
            var queryParams = new Dictionary<string, string> {{"access_token", "any"}, {"fields", "id,name"}};
            var allPages = await facebookProvider.GatherAllPages(queryParams);
            Assert.AreEqual(responsePart1.Data[0], allPages[0]);
            Assert.AreEqual(responseLastPart.Data[0], allPages[1]);
        }