Пример #1
0
        public void Given_CreatePostViewModel_without_file_When_CreatePost_Returns_Post()
        {
            //Given
            var model = new CreatePostViewModel()
            {
                Title    = "koks",
                Content  = "Tas ir koks",
                SubTitle = "Koki ir visur",
            };
            //When
            var result = _postFactory.CreatePost(model);

            //Then
            Assert.NotNull(result);
            Assert.IsInstanceOf <Post>(result);
            Assert.AreEqual("Shrook", result.Author);
            Assert.AreEqual("22", result.AuthorId);
            Assert.AreEqual(model.Title, result.Title);
            Assert.AreEqual(model.SubTitle, result.SubTitle);
            Assert.AreEqual(model.Content, result.Content);
        }
Пример #2
0
        public async override Task <PostDTO> AddAsync(PostDTO postDTO)
        {
            if (postDTO == null)
            {
                throw new ArgumentException(_resources.GetStringResource(LocalizationKeys.Application.validation_No_Records_Found_Error));
            }

            Post post = PostFactory.CreatePost(postDTO.Title, postDTO.Content, postDTO.BlogId);

            if (_validator.IsValid <Post>(post))
            {
                _postRepository.Add(post);

                await _postRepository.UnitOfWork.CommitAsync();

                return(post.ProjectedAs <PostDTO>());
            }
            else
            {
                throw new ApplicationValidationErrorsException(_validator.GetInvalidMessages <Post>(post));
            }
        }
        public async Task When_GET_blog_posts_for_author_name_Then_200_OK_with_expected_posts_are_returned()
        {
            var user1 = UserFactory.CreateUser("User 1");
            var user2 = UserFactory.CreateUser("User 2");
            var user3 = UserFactory.CreateUser("User 3");

            var post1 = PostFactory.CreatePost("Post 1", new[] { user2, user3 });
            var post2 = PostFactory.CreatePost("Post 2", new[] { user1, user2 });
            var post3 = PostFactory.CreatePost("Post 3", new[] { user1, user3 });

            using (var context = CreateContext())
            {
                context.Users.Add(user1);
                context.Users.Add(user2);
                context.Users.Add(user3);

                context.Posts.Add(post1);
                context.Posts.Add(post2);
                context.Posts.Add(post3);

                await context.SaveChangesAsync();
            }

            var(getBlogPostsResponse, httpResponse) = await _client.GetWithResponseAsync <GetBlogPostsResponse>($"{BASE_ROUTE}?author={user1.Name}");

            Assert.Multiple(() =>
            {
                Assert.That(httpResponse.StatusCode, Is.EqualTo(HttpStatusCode.OK), "Invalid status code");
                Assert.That(getBlogPostsResponse, Is.Not.Null, "Response is null");
                Assert.That(getBlogPostsResponse.Posts, Is.Not.Null, "Post result is null");
                Assert.That(getBlogPostsResponse.Posts.Count(), Is.EqualTo(2), "Invalid post count");

                Assert.That(getBlogPostsResponse.Posts.Any(p => (p.PostId, p.Title) == (post2.PostId, post2.Title)), "Expected post not returned");
                Assert.That(getBlogPostsResponse.Posts.Any(p => (p.PostId, p.Title) == (post3.PostId, post3.Title)), "Expected post not returned");
            });
        }
 // POST api/<controller>
 public void Post([FromBody] IncomingBlog blog)
 {
     _service.Upsert(PostFactory.CreatePost(blog.Title, blog.Body));
 }