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); }
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); }
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); }
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); }