コード例 #1
0
        public async Task SyncInitialRecursiveShouldSyncAllPagesOfSyncIntoSingleSyncResult()
        {
            //Arrange
            _handler.Responses.Enqueue(GetResponseFromFile(@"InitialSyncNextPagePresent.json"));
            _handler.Responses.Enqueue(GetResponseFromFile(@"InitialSyncNextPagePresent.json"));
            _handler.Responses.Enqueue(GetResponseFromFile(@"InitialSyncNextPagePresent.json"));
            _handler.Responses.Enqueue(GetResponseFromFile(@"InitialSyncNoNextPage.json"));

            //Act
            var res = await _client.SyncInitialRecursive();

            //Assert
            Assert.Null(res.NextPageUrl);
            Assert.Equal("https://cdn.contentful.com/spaces/n9r7gd2bwvqt/sync?sync_token=sometoken", res.NextSyncUrl);
            Assert.Equal(48, res.Assets.Count());
            Assert.Equal(36, res.Entries.Count());
            Assert.Equal(0, res.DeletedAssets.Count());
            Assert.Equal(0, res.DeletedEntries.Count());
            Assert.Equal("4BqrajvA8E6qwgkieoqmqO", res.Entries.First().SystemProperties.Id);
            Assert.Equal("SoSo Wall Clock", res.Entries.First().Fields.productName["en-US"].ToString());
            Assert.Equal("SåSå Väggklocka", res.Entries.First().Fields.productName.sv.ToString());
        }