Пример #1
0
        private void UpdatePostDetails(FacebookPost post, FacebookDataProvider provider, Repository repository)
        {
            var likesAndUsers = provider.GetLikesAndUsersForPostFromFacebook(post.ExternalKey);

            foreach (var like in likesAndUsers.Item1)
            {
                repository.LikesAdd(like);
            }

            foreach (var user in likesAndUsers.Item2)
            {
                repository.UsersAddOrUpdate(user);
            }
        }
Пример #2
0
        public void ShouldFetchDataForSingleFacebookPost()
        {
            var data = sut.FetchPostsFromFacebook();

            bool hasAtLeastOneLike    = false;
            bool hasAtLeastOneComment = false;
            bool hasAtLeastOneUser    = false;

            foreach (var post in data)
            {
                var result = sut.GetLikesAndUsersForPostFromFacebook(post.ExternalKey);

                Assert.NotNull(result);
                hasAtLeastOneLike    |= (result.Item1.Count > 0);
                hasAtLeastOneComment |= (result.Item2.Count > 0);
                hasAtLeastOneUser    |= (result.Item3.Count > 0);
            }

            Assert.True(hasAtLeastOneComment);
            Assert.True(hasAtLeastOneLike);
            Assert.True(hasAtLeastOneUser);
        }
Пример #3
0
        public void ShouldFetchDataForSingleFacebookPost()
        {
            var data     = sut.FetchPostsFromFacebook();
            var testPost = data[0];

            var result = sut.GetLikesAndUsersForPostFromFacebook(testPost.ExternalKey);

            Assert.NotNull(result);
            Assert.True(result.Item1.Count > 0);
            Assert.True(result.Item2.Count > 0);
            Assert.True(result.Item1.Count == result.Item2.Count);

            var firstLike = result.Item1[0];

            Assert.NotEmpty(firstLike.PostId);
            Assert.NotEmpty(firstLike.UserId);

            var firstUser = result.Item2[0];

            Assert.NotEmpty(firstUser.Id);
            Assert.NotEmpty(firstUser.Name);
        }