public void IndexShouldReturnIntroductionPostIfFirstPostIsNull() { var introPost = new Post(); _postRepo.Setup(r => r.GetFirst()).Returns((Post)null); _postRepo.Setup(r => r.GetIntroductionPost()) .Returns(introPost); _postContentResolver.Setup(r => r.ExtractContent(It.IsAny<Post>())) .Returns(TEST_RENDERED_CONTENT); _ctxFactory.Setup(f => f.GetCurrentRequestUri()) .Returns(TEST_URI); var result = _controller.Index() as ViewResult; result.ViewData.Model.ShouldNotBeNull(); result.ViewData.Model.ShouldBeOfType<RenderedPostViewModel>(); var postResult = result.ViewData.Model as RenderedPostViewModel; var expectedTotalUrl = String.Format("{0}{1}{2}{3}", TEST_URI.Scheme, Uri.SchemeDelimiter, TEST_URI.Authority, TEST_URI.AbsolutePath); postResult.Post.ShouldBe(introPost); postResult.RenderedContent.ShouldBe(TEST_RENDERED_CONTENT); postResult.TotalUrl.ShouldBe(expectedTotalUrl); }
public string ExtractContent(Post post) { var fileToRead = HttpContext.Current.Server.MapPath(post.ContentFile); var fileContent = File.ReadAllText(fileToRead); var parsedFileContent = CommonMarkConverter.Convert(fileContent); var result = AddAboutBlankToLinks(parsedFileContent); return result; }
private RenderedPostViewModel GetPostViewModel(Post post) { var currentUri = _ctxFactory.GetCurrentRequestUri(); var result = new RenderedPostViewModel() { Post = post, RenderedContent = _postContentResolver.ExtractContent(post), TotalUrl = GetTotalUrl(currentUri) }; if (String.IsNullOrEmpty(result.Post.ImageUrl)) { SetDefaultImageOnPost(post); } return result; }
private void SetDefaultImageOnPost(Post post) { post.ImageUrl = _baseUri + "/Images/cvimage_400x400.png"; post.ImageHeight = 400; post.ImageWidth = 400; }