Exemplo n.º 1
0
        public async Task Comments_Update()
        {
            var client = await ClientHelper.GetAuthenticatedWordPressClient();

            var me = await client.Users.GetCurrentUser();

            var queryBuilder = new CommentsQueryBuilder()
            {
                Authors = new int[] { me.Id }
            };
            var comments = await client.Comments.Query(queryBuilder, true);

            var comment = comments.FirstOrDefault();

            if (comment == null)
            {
                Assert.Inconclusive();
            }
            var random = new Random();
            var title  = $"TestComment {random.Next(0, 10000)}";

            comment.Content.Raw = title;
            var commentUpdated = await client.Comments.Update(comment);

            Assert.AreEqual(commentUpdated.Content.Raw, title);
        }
Exemplo n.º 2
0
        public async Task <Comment> GetAsync(long id)
        {
            var builder = new CommentsQueryBuilder {
                Path = string.Format(CommentPath, id)
            };

            return(await Gateway.SendGetRequestAsync <Comment>(builder.BuildUri()));
        }
Exemplo n.º 3
0
        public Task <SoundCloudList <Comment> > GetAllAsync(int limit = SoundCloudQueryBuilder.MaxLimit)
        {
            var builder = new CommentsQueryBuilder {
                Path = CommentsPath, Paged = true, Limit = limit
            };

            return(GetPage <Comment>(builder.BuildUri()));
        }
Exemplo n.º 4
0
        public async Task <Comment> GetAsync(int commentId)
        {
            EnsureClientId();

            var builder = new CommentsQueryBuilder();

            builder.Path = string.Format(CommentPath, commentId);

            return(await GetByIdAsync <Comment>(builder.BuildUri()));
        }
Exemplo n.º 5
0
        public Comment Get(int commentId)
        {
            EnsureClientId();

            var builder = new CommentsQueryBuilder();

            builder.Path = string.Format(CommentPath, commentId);

            return(GetById <Comment>(builder.BuildUri()));
        }
Exemplo n.º 6
0
        public async Task <StatusResponse> DeleteAsync(Comment comment)
        {
            comment.ValidateDelete();

            var builder = new CommentsQueryBuilder {
                Path = string.Format(CommentPath, comment.Id)
            };

            return(await Gateway.SendDeleteRequestAsync <StatusResponse>(builder.BuildUri()));
        }
Exemplo n.º 7
0
        public async Task <Comment> PostAsync(Comment comment)
        {
            comment.ValidatePost();

            var builder = new CommentsQueryBuilder {
                Path = CommentsPath
            };

            return(await Gateway.SendPostRequestAsync <Comment>(builder.BuildUri(), comment));
        }
Exemplo n.º 8
0
        public async Task <IWebResult> DeleteAsync(Comment comment)
        {
            EnsureToken();
            Validate(comment.ValidateDelete);

            var builder = new CommentsQueryBuilder();

            builder.Path = string.Format(CommentPath, comment.id);

            return(await DeleteAsync(builder.BuildUri()));
        }
Exemplo n.º 9
0
        public IWebResult <Comment> Post(Comment comment)
        {
            EnsureToken();
            Validate(comment.ValidatePost);

            var builder = new CommentsQueryBuilder();

            builder.Path = CommentsPath;

            return(Create <Comment>(builder.BuildUri(), comment));
        }
Exemplo n.º 10
0
        public async Task <IEnumerable <Comment> > GetAsync()
        {
            EnsureClientId();

            var builder = new CommentsQueryBuilder();

            builder.Path  = CommentsPath;
            builder.Paged = true;

            return(await GetListAsync <Comment>(builder.BuildUri()));
        }
Exemplo n.º 11
0
        public IEnumerable <Comment> Get()
        {
            EnsureClientId();

            var builder = new CommentsQueryBuilder();

            builder.Path  = CommentsPath;
            builder.Paged = true;

            return(GetList <Comment>(builder.BuildUri()));
        }
Exemplo n.º 12
0
        public async Task <IWebResult <Comment> > PostAsync(Comment comment)
        {
            EnsureToken();
            Validate(comment.ValidatePost);

            var builder = new CommentsQueryBuilder();

            builder.Path = CommentsPath;

            return(await CreateAsync <Comment>(builder.BuildUri(), comment));
        }
Exemplo n.º 13
0
        public async Task Comments_Query()
        {
            var queryBuilder = new CommentsQueryBuilder()
            {
                Page    = 1,
                PerPage = 15,
                OrderBy = CommentsOrderBy.Id,
                Order   = Order.DESC,
            };
            var queryresult = await _clientAuth.Comments.Query(queryBuilder);

            Assert.AreEqual("?page=1&per_page=15&orderby=id", queryBuilder.BuildQueryURL());
            Assert.IsNotNull(queryresult);
            Assert.AreNotSame(queryresult.Count(), 0);
        }
Exemplo n.º 14
0
        public async Task Comments_Query()
        {
            var client = await ClientHelper.GetAuthenticatedWordPressClient();

            var queryBuilder = new CommentsQueryBuilder()
            {
                Page    = 1,
                PerPage = 15,
                OrderBy = CommentsOrderBy.Id,
                Order   = Order.DESC,
            };
            var queryresult = await client.Comments.Query(queryBuilder);

            Assert.AreEqual(queryBuilder.BuildQueryURL(), "?page=1&per_page=15&orderby=id&order=desc");
            Assert.IsNotNull(queryresult);
            Assert.AreNotSame(queryresult.Count(), 0);
        }
Exemplo n.º 15
0
        // TODO: Can't create pending comment from Admin Account
        //[TestMethod]
        public async Task Comments_Query_Pending()
        {
            // Create new pending comment
            var posts = await _clientAuth.Posts.GetAll();

            var postId = posts.First().Id;
            var me     = await _clientAuth.Users.GetCurrentUser();

            // Create random content to prevent duplicate commment errors
            var random  = new Random();
            var content = $"TestComment {random.Next(0, 10000)}";
            var comment = new Comment()
            {
                Content     = new Content(content),
                PostId      = postId,
                AuthorId    = me.Id,
                AuthorEmail = "*****@*****.**",
                AuthorName  = me.Name,
                Status      = CommentStatus.Pending
            };
            var resultComment = await _clientAuth.Comments.Create(comment);

            Assert.IsNotNull(resultComment);
            Assert.AreEqual(CommentStatus.Pending, resultComment.Status);

            // this test needs a pending comment added manually for now.
            var queryBuilder = new CommentsQueryBuilder()
            {
                Page     = 1,
                PerPage  = 15,
                OrderBy  = CommentsOrderBy.Id,
                Order    = Order.DESC,
                Statuses = new CommentStatus[] { CommentStatus.Pending }
            };
            var queryresult = await _clientAuth.Comments.Query(queryBuilder, true);

            var querystring = "?page=1&per_page=15&orderby=id&status=hold";

            Assert.AreEqual(querystring, queryBuilder.BuildQueryURL());
            Assert.IsNotNull(queryresult);
            Assert.AreNotEqual(queryresult.Count(), 0);

            // Delete Pending comment
            await _clientAuth.Comments.Delete(resultComment.Id);
        }
Exemplo n.º 16
0
        public async Task Comments_Query_Pending()
        {
            // this test needs a pending comment added manually for now.
            var queryBuilder = new CommentsQueryBuilder()
            {
                Page     = 1,
                PerPage  = 15,
                OrderBy  = CommentsOrderBy.Id,
                Order    = Order.DESC,
                Statuses = new CommentStatus[] { CommentStatus.Pending }
            };
            var queryresult = await _clientAuth.Comments.Query(queryBuilder, true);

            var querystring = "?page=1&per_page=15&orderby=id&status=hold";

            Assert.AreEqual(querystring, queryBuilder.BuildQueryURL());
            Assert.IsNotNull(queryresult);
            Assert.AreNotEqual(queryresult.Count(), 0);
        }
Exemplo n.º 17
0
 /// <summary>
 /// Create a parametrized query and get a result
 /// </summary>
 /// <param name="queryBuilder">Comments query builder with specific parameters</param>
 /// <param name="useAuth">Send request with authenication header</param>
 /// <returns>List of filtered comments</returns>
 public async Task <IEnumerable <Comment> > Query(CommentsQueryBuilder queryBuilder, bool useAuth = false)
 {
     return(await _httpHelper.GetRequest <IEnumerable <Comment> >($"{_defaultPath}{_methodPath}{queryBuilder.BuildQueryURL()}", false, useAuth).ConfigureAwait(false));
 }