public void MapReturnsPostViewModel()
        {
            // Arrange
            DateTime referenceDate = DateTime.Now;
            Author author = new Author {AuthorID = 1, Name = "Fred"};
            Category category = new Category {CategoryID = 1, Name = "Cat"};
            Guid externalIdentifier = Guid.NewGuid();
            Post post = new Post
                            {
                                Author = author,
                                AuthorID = 1,
                                Body = "Some text",
                                Categories = new List<Category> {category},
                                ExternalIdentifier = externalIdentifier,
                                PostID = 2,
                                PostedAt = referenceDate,
                                Subject = "A subject"
                            };
            _categoryMapper.Stub(x => x.Map(category)).Return(new CategoryViewModel());
            _markdownConverter.Stub(x => x.ToHtml("Some text")).Return("converted");
            PostToPostViewModelMapper mapper = new PostToPostViewModelMapper(_categoryMapper, _markdownConverter);

            // Act
            PostViewModel result = mapper.Map(post);

            // Assert
            Assert.That(result.AuthorName, Is.EqualTo("Fred"));
            Assert.That(result.AuthorId, Is.EqualTo(1));
            Assert.That(result.BodyAsHtml, Is.EqualTo("converted"));
            Assert.That(result.Categories.Count, Is.EqualTo(1));
            Assert.That(result.ExternalIdentifier, Is.EqualTo(externalIdentifier));
            Assert.That(result.PostID, Is.EqualTo(2));
            Assert.That(result.PostedAt, Is.EqualTo(referenceDate));
            Assert.That(result.Subject, Is.EqualTo("A subject"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> GetPostById(int postId)
        {
            var post = await _postService.GetPost(postId);

            if (post != null)
            {
                return(Ok(PostToPostViewModelMapper.PostToPostViewModel(post)));
            }
            return(NotFound());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Post([FromBody] IServices.Requests.CreatePost createPost)
        {
            var post = await _postService.CreatePost(createPost);

            return(Created(post.PostId.ToString(), PostToPostViewModelMapper.PostToPostViewModel(post)));
        }