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); }
public async Task <Comment> GetAsync(long id) { var builder = new CommentsQueryBuilder { Path = string.Format(CommentPath, id) }; return(await Gateway.SendGetRequestAsync <Comment>(builder.BuildUri())); }
public Task <SoundCloudList <Comment> > GetAllAsync(int limit = SoundCloudQueryBuilder.MaxLimit) { var builder = new CommentsQueryBuilder { Path = CommentsPath, Paged = true, Limit = limit }; return(GetPage <Comment>(builder.BuildUri())); }
public async Task <Comment> GetAsync(int commentId) { EnsureClientId(); var builder = new CommentsQueryBuilder(); builder.Path = string.Format(CommentPath, commentId); return(await GetByIdAsync <Comment>(builder.BuildUri())); }
public Comment Get(int commentId) { EnsureClientId(); var builder = new CommentsQueryBuilder(); builder.Path = string.Format(CommentPath, commentId); return(GetById <Comment>(builder.BuildUri())); }
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())); }
public async Task <Comment> PostAsync(Comment comment) { comment.ValidatePost(); var builder = new CommentsQueryBuilder { Path = CommentsPath }; return(await Gateway.SendPostRequestAsync <Comment>(builder.BuildUri(), comment)); }
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())); }
public IWebResult <Comment> Post(Comment comment) { EnsureToken(); Validate(comment.ValidatePost); var builder = new CommentsQueryBuilder(); builder.Path = CommentsPath; return(Create <Comment>(builder.BuildUri(), comment)); }
public async Task <IEnumerable <Comment> > GetAsync() { EnsureClientId(); var builder = new CommentsQueryBuilder(); builder.Path = CommentsPath; builder.Paged = true; return(await GetListAsync <Comment>(builder.BuildUri())); }
public IEnumerable <Comment> Get() { EnsureClientId(); var builder = new CommentsQueryBuilder(); builder.Path = CommentsPath; builder.Paged = true; return(GetList <Comment>(builder.BuildUri())); }
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)); }
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); }
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); }
// 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); }
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); }
/// <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)); }