private void CreateCommentTest(StringBuilder sb, int num) { sb.Append($"{num}) CreateCommentTest : "); StepFinished?.Invoke(sb.ToString()); // Load last created post var getPosts = new PostsModel(PostType.New) { Login = _user.Login }; var postsResp = _api.GetPosts(getPosts, CancellationToken.None) .Result; if (!postsResp.IsSuccess) { sb.AppendLine($"fail. Reason:{Environment.NewLine} {postsResp.Error.Message}"); return; } if (postsResp.Result.Results.Count == 0) { sb.AppendLine("fail. Reason:{Environment.NewLine} There are no Posts!"); return; } var testPost = postsResp.Result.Results.First(); var req = new CreateOrEditCommentModel(_user, testPost, "Hi, I am a bot for testing Ditch api, please ignore this comment.", _appInfo); var rez = _api.CreateOrEditComment(req, CancellationToken.None) .Result; if (!UrlHelper.TryCastUrlToAuthorAndPermlink(testPost.Url, out var parentAuthor, out var parentPermlink)) { sb.AppendLine($"fail. Reason:{Environment.NewLine} url to permlink cast."); return; } var permlink = OperationHelper.CreateReplyPermlink(_user.Login, parentAuthor, parentPermlink); if (!rez.IsSuccess) { sb.AppendLine($"fail. Reason:{Environment.NewLine} {rez.Error.Message}"); return; } Task.Delay(10000); var getComm = new NamedInfoModel(testPost.Url) { Offset = permlink, Limit = 1 }; var verifyPostresp = _api.GetComments(getComm, CancellationToken.None) .Result; if (!verifyPostresp.IsSuccess) { sb.AppendLine($"fail. Reason:{Environment.NewLine} {verifyPostresp.Error.Message}"); return; } if (verifyPostresp.Result.Results.Count != 1) { sb.AppendLine($"fail. Reason:{Environment.NewLine} Comment ({permlink}) not found!"); return; } sb.AppendLine("pass."); }