public async Task TestIfEditForumPostWorksAccordingly(string title, string content, string url) { var context = PCHUBDbContextInMemoryInitializer.InitializeContext(); var forumService = new SupportForumServices(context); await forumService.CreateForumPost(title, content, url); var id = await context.ForumPosts.FirstOrDefaultAsync(x => x.Title == title); var form = new EditForumPostViewModel(); form.Id = id.Id; form.Title = "new Title"; form.Content = "new Content"; await forumService.EditForumPostAsync(form); var result = await context.ForumPosts.FirstOrDefaultAsync(x => x.Title == "new Title"); Assert.NotNull(result); Assert.Equal("new Title", result.Title); Assert.Equal("new Content", result.Content); }
public async Task <IActionResult> EditForumPost(string postId) { var model = new EditForumPostViewModel(); var dbModel = await this.userForumService.GetForumPostAsync(postId); model.Id = postId; model.Content = dbModel.Content; model.Title = dbModel.Title; model.CurrentPictureUrl = dbModel.PictureUrl; return(this.View(model)); }
public async Task TestIfEditForumPostThrowsError(string id) { var context = PCHUBDbContextInMemoryInitializer.InitializeContext(); var forumService = new SupportForumServices(context); await Assert.ThrowsAsync <NullReferenceException>(async() => { var form = new EditForumPostViewModel(); form.Id = id; await forumService.EditForumPostAsync(form); }); }
public async Task EditForumPostAsync(EditForumPostViewModel form) { var post = await this.context.ForumPosts.FirstOrDefaultAsync(x => x.Id == form.Id); if (form.CurrentPictureUrl != null) { post.PictureUrl = form.CurrentPictureUrl; } post.Title = form.Title; post.Content = form.Content; post.ModificationDate = DateTime.UtcNow; await this.context.SaveChangesAsync(); }
public async Task <IActionResult> EditForumPost(EditForumPostViewModel form) { if (this.ModelState.IsValid) { if (form.NewPicture.Count == 1) { form.CurrentPictureUrl = await this.cloudinary.UploadPictureAsync(form.NewPicture[0], form.Title + "picture"); } form.Content = new HtmlSanitizer().Sanitize(form.Content); await this.service.EditForumPostAsync(form); } else { return(this.View(form)); } return(this.RedirectToAction("EditForumPosts")); }