public void Ctor_ValidPageIdAndEdge_ReturnsExpected(PostsRequestEdge edge, string expectedEdge)
        {
            var postsRequest = new PostsRequest("PageId", edge);

            Assert.Equal("PageId", postsRequest.PageId);
            Assert.Equal(edge, postsRequest.Edge);
            Assert.Null(postsRequest.Fields);
            Assert.Equal($"/PageId/{expectedEdge}?fields=id,message,link,caption,description,from,created_time,updated_time," +
                         "permalink_url,status_type,type,name,place,shares,comments.limit(0).summary(True)," +
                         "reactions.limit(0).summary(True)&", postsRequest.ToString());
        }
Exemple #2
0
        /// <summary>
        /// Constructs a request for the endpoint https://graph.facebook.com/vX.Y/{PageId}/{Edge}.
        /// </summary>
        /// <param name="pageId">The Id of the page to fetch posts from the Facebook Graph API.</param>
        /// <param name="edge">The type of posts to fetch from the Facebook Graph API.</param>
        /// <exception cref="ArgumentNullException"><paramref name="pageId"/> is null.</exception>
        /// <exception cref="ArgumentException">
        /// <paramref name="pageId"/> is empty or whitespace.
        /// -or-
        /// <paramref name="edge"/> is not a valid <see cref="PostsRequestEdge"/> value
        /// </exception>
        public PostsRequest(string pageId, PostsRequestEdge edge)
        {
            if (pageId == null)
            {
                throw new ArgumentNullException(nameof(pageId));
            }
            if (string.IsNullOrWhiteSpace(pageId))
            {
                throw new ArgumentException("Argument cannot be empty or white space.", nameof(pageId));
            }
            if (!Enum.IsDefined(typeof(PostsRequestEdge), edge))
            {
                throw new ArgumentException("Argument is not a valid enum.", nameof(edge));
            }

            PageId = pageId;
            Edge   = edge;
        }
 public void Ctor_InvalidEdge_ThrowsArgumentException(PostsRequestEdge edge)
 {
     Assert.Throws <ArgumentException>("edge", () => new PostsRequest("PageId", edge));
 }