Esempio n. 1
0
        public async Task <ActionResult <BlogView> > Update(long id, [FromBody] BlogCreateView create)
        {
            var blog = await Context.Blogs
                       .Include(b => b.Owner)
                       .FirstOrDefaultAsync(b => b.Id == id);

            if (blog == null)
            {
                return(NotFound());
            }

            var authResult = await _authorizationService
                             .AuthorizeAsync(User, blog, Operations.Update);

            if (!authResult.Succeeded)
            {
                return(Unauthorized());
            }

            blog.Title = create.Title;
            blog.About = create.About;
            await Context.SaveChangesAsync();

            return(new BlogView(blog));
        }
 public CreateBlogSteps(BlogListView blogListView, LoginView loginView, BlogCreateView blogCreateView, HomeView homeView)
 {
     _blogCreateView = blogCreateView;
     _blogListView   = blogListView;
     _loginView      = loginView;
     _homeView       = homeView;
 }
Esempio n. 3
0
        public async Task TestBlog()
        {
            const string title  = "Dev blogger";
            const string about  = "A blog about development";
            const string title2 = "new title";
            const string about2 = "new about";

            //Create blog for user
            var create = new BlogCreateView
            {
                About = about,
                Title = title
            };

            var newBlogData = await Post <BlogCreateView, BlogView>(_userClient, "/Blog", create);

            Assert.AreEqual(newBlogData.Title, title);
            Assert.AreEqual(newBlogData.About, about);


            var blogData = await Get <BlogView>(_userClient, $"api/Blog/{newBlogData.Id}");

            Assert.AreEqual(newBlogData.Id, blogData.Id);

            //Update blog
            var update = new BlogCreateView
            {
                About = about2,
                Title = title2
            };
            var id = newBlogData.Id;

            newBlogData = await Put <BlogCreateView, BlogView>(_userClient, $"api/Blog/{id}", update);

            Assert.AreEqual(id, newBlogData.Id);
            Assert.AreEqual(title2, newBlogData.Title);
            Assert.AreEqual(about2, newBlogData.About);

            //Unauthorized Update blog
            using (var resp = await _adminClient.PutAsync($"api/Blog/{newBlogData.Id}", JsonContent(update)))
            {
                Assert.AreEqual(HttpStatusCode.Unauthorized, resp.StatusCode);
            }

            //Delete Blog
            using (var resp = await _userClient.DeleteAsync($"api/Blog/{newBlogData.Id}"))
            {
                Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode);
            }
        }
Esempio n. 4
0
        public async Task <ActionResult <BlogView> > Create([FromBody] BlogCreateView create)
        {
            var owner = await CurrentUser();

            var blog = new Blog
            {
                Owner = owner,
                About = create.About,
                Title = create.Title
            };

            Context.Blogs.Add(blog);
            await Context.SaveChangesAsync();

            return(Ok(new BlogView(blog)));
        }