Exemple #1
0
        public void UpdateBlogPost(string userId, string _id, BlogPostDTO blogPostData)
        {
            var validator        = new CreateUpdateBlogPostValidator();
            var validationResult = validator.Validate(blogPostData);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }
            var post = _blogPostRepository.GetByUserIdAndId(userId, _id);

            if (post == null)
            {
                throw new NotFoundException("Post não encontrado");
            }
            var author = _authorRepository.GetByUserIdAndId(userId, blogPostData.AuthorId);

            if (author == null)
            {
                throw new NotFoundException("Autor não encontrado");
            }
            post        = _mapper.Map <BlogPostDTO, BlogPost>(blogPostData);
            post.Id     = ObjectId.Parse(_id);
            post.UserId = userId;
            _blogPostRepository.Update(_id, post);
        }
Exemple #2
0
        public void ShouldAcceptValidBlogPostDataForCreate()
        {
            var authorData = new BlogPostDTO
            {
                Title    = "Test2",
                AuthorId = "5b9d8e952e6adf8005dbcf21",
                Content  = "test content 2"
            };

            var sut    = new CreateUpdateBlogPostValidator();
            var result = sut.Validate(authorData);

            Assert.True(result.IsValid);
        }
Exemple #3
0
        public void ShouldNotAcceptInvalidBlogPostDataForCreate()
        {
            var authorData = new BlogPostDTO
            {
                Title    = "",
                AuthorId = "",
                Content  = ""
            };

            var sut    = new CreateUpdateBlogPostValidator();
            var result = sut.Validate(authorData);

            Assert.False(result.IsValid);
            Assert.NotEmpty(result.Errors);
        }
Exemple #4
0
        public void CreateBlogPost(string userId, BlogPostDTO blogPostData)
        {
            var validator        = new CreateUpdateBlogPostValidator();
            var validationResult = validator.Validate(blogPostData);

            if (!validationResult.IsValid)
            {
                throw new ValidationException(validationResult.Errors);
            }

            var author = _authorRepository.GetByUserIdAndId(userId, blogPostData.AuthorId);

            if (author == null || (author != null && author.UserId != userId))
            {
                throw new NotFoundException("Autor não encontrado");
            }

            var post = _mapper.Map <BlogPostDTO, BlogPost>(blogPostData);

            post.UserId = userId;
            _blogPostRepository.Insert(post);
        }