public IActionResult GetPost(int userId, int blogId, int postId, [FromHeader(Name = nameof(HeaderNames.Accept))] string mediaType) { if (!_weblogDataRepository.UserExists(userId) || !_weblogDataRepository.BlogExists(blogId)) { return(NotFound()); } var postFromRepo = _weblogDataRepository.GetPost(postId); if (postFromRepo is null) { return(NotFound()); } var postToReturn = _mapper.Map <PostDto>(postFromRepo); var includeLinks = MediaTypes.IncludeLinks(mediaType); if (!includeLinks) { return(Ok(postToReturn)); } var links = CreateLinksForPost(Url, userId, blogId, postToReturn.PostId); var postWithLinks = new PostDtoWithLinks(postToReturn, links); return(Ok(postWithLinks)); }
public void GetPost() { //-- arrange var post = new Post { Title = "title", Body = "body", TimeCreated = DateTime.Now }; _repository.AddPost(1, post); _repository.Save(); //-- act var actual = _repository.GetPost(1); //-- assert Assert.AreEqual("title", actual.Title); //-- cleanup _repository.DeletePost(post); _repository.Save(); }