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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 5
0
        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"));
        }