public async Task TestCreateCommentWithValidComment() { await this.AddTwoUsersAsync(); await this.AddTwoPostsAsync(); var fileName = "Img"; IFormFile file = new FormFile(new MemoryStream(Encoding.UTF8.GetBytes("This is a dummy file")), 0, 0, fileName, "dummy.png"); var commentDesc = "TestCommentDescription"; var commentPostId = "postId1"; var comentModel = new AddCommentsModel() { Description = commentDesc, PostId = commentPostId, File = file, }; await this.commentsService.CreateCommentAsync(comentModel, "userId1"); var actualComment = await this.dbContext.Comments .Where(x => x.PostId == commentPostId && x.Description == commentDesc).FirstOrDefaultAsync(); var expectedCommentDesc = commentDesc; var expectedCommentPostId = commentPostId; var expectedCommentUrl = fileName; Assert.IsTrue(expectedCommentUrl == actualComment.ImgUrl && expectedCommentDesc == actualComment.Description && expectedCommentPostId == actualComment.PostId); }
public async Task TestCreateCommentWithNullFile() { await this.AddTwoUsersAsync(); await this.AddTwoPostsAsync(); var commentDesc = "TestCommentDescription"; var commentPostId = "postId1"; var comentModel = new AddCommentsModel() { Description = commentDesc, PostId = commentPostId, File = null, }; await this.commentsService.CreateCommentAsync(comentModel, "userId1"); var actualComment = await this.dbContext.Comments .Where(x => x.PostId == commentPostId && x.Description == commentDesc).FirstOrDefaultAsync(); var expectedCommentDesc = commentDesc; var expectedCommentPostId = commentPostId; string expectedCommentUrl = null; Assert.IsTrue(expectedCommentUrl == actualComment.ImgUrl && expectedCommentDesc == actualComment.Description && expectedCommentPostId == actualComment.PostId); }
public static bool AddComment(AddCommentsModel model) { model.Name = "User"; var json = JsonConvert.SerializeObject(model); var data = new StringContent("=" + json, Encoding.UTF8, "application/x-www-form-urlencoded"); var response = client.PostAsync($"api/Comments/", data).Result; if (response.IsSuccessStatusCode) { var content = response.Content.ReadAsStringAsync().Result; return(true); } ; return(false); }
public async Task <ActionResult <ResponseAddComment> > Post([FromForm] AddCommentsModel data) { if (this.User.Identity.IsAuthenticated) { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); await this.commentsService.CreateCommentAsync(data, userId); return(new ResponseAddComment() { Status = "Created" }); } return(this.Unauthorized()); }
public async Task CreateCommentAsync(AddCommentsModel input, string userId) { string url = null; if (input.File != null) { url = await this.cloudinaryService.SaveCloudinaryAsync(input.File); } var comment = new Comment() { Description = input.Description, ApplicationUserId = userId, PostId = input.PostId, ImgUrl = url, }; await this.commentsRepository.AddAsync(comment); await this.commentsRepository.SaveChangesAsync(); }