Example #1
0
        public IActionResult GetBlog(int userId, int blogId,
                                     [FromHeader(Name = nameof(HeaderNames.Accept))] string mediaType)
        {
            if (!_weblogDataRepository.UserExists(userId))
            {
                return(NotFound());
            }

            var blogEntity = _weblogDataRepository.GetBlog(blogId);

            if (blogEntity is null)
            {
                return(NotFound());
            }

            var blogToReturn = _mapper.Map <BlogDto>(blogEntity);

            var includeLinks = MediaTypes.IncludeLinks(mediaType);

            if (!includeLinks)
            {
                return(Ok(blogToReturn));
            }

            var links         = CreateLinksForBlog(Url, userId, blogId);
            var blogWithLinks = new BlogDtoWithLinks(blogToReturn, links);

            return(Ok(blogWithLinks));
        }
Example #2
0
        public void GetBlog()
        {
            //-- arrange
            var blog = new Blog
            {
                Title   = "title",
                Excerpt = "excerpt"
            };

            _repository.AddBlog(1, blog);
            _repository.Save();

            //-- act
            var actual = _repository.GetBlog(1);

            //-- assert
            Assert.AreEqual("title", actual.Title);

            //-- cleanup
            _repository.DeleteBlog(blog);
            _repository.Save();
        }