示例#1
0
        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;
 }
示例#3
0
        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;

        }
示例#4
0
 private void SetDefaultImageOnPost(Post post)
 {
     post.ImageUrl = _baseUri + "/Images/cvimage_400x400.png";
     post.ImageHeight = 400;
     post.ImageWidth = 400;
 }