public async void GetPendingPosts() { //setup var mockPostRepository = new Mock <IPostRepository>(); var fakePosts = new List <Post>() { new Post { Id = 1, Author = "author1", Title = "Post1", Text = "post 1 content", PostStatus = PostStatus.PendingApproval }, new Post { Id = 2, Author = "author1", Title = "Post2", Text = "post 2 content", PostStatus = PostStatus.Approved }, new Post { Id = 3, Author = "author2", Title = "Post3", Text = "post 3 content", PostStatus = PostStatus.PendingApproval } }; mockPostRepository.Setup(m => m.GetPostsByStatus(PostStatus.PendingApproval)) .ReturnsAsync(fakePosts.Where(p => p.PostStatus == PostStatus.PendingApproval).ToList()); //act var controller = new PendingPostsController(mockPostRepository.Object); var result = await controller.Get(); var okResult = result as OkObjectResult; //Assert Assert.True(okResult is OkObjectResult); Assert.Equal(2, (okResult.Value as List <Post>).Count); }
public async void RejectPost() { //setup var mockPostRepository = new Mock <IPostRepository>(); mockPostRepository.Setup(m => m.UpdatePostStatus(1, PostStatus.Rejected)) .ReturnsAsync(1); //act var controller = new PendingPostsController(mockPostRepository.Object); var result = await controller.Post(1, "2"); var okResult = result as OkObjectResult; //Assert Assert.True(okResult is OkObjectResult); Assert.Equal(1, Convert.ToInt32(okResult.Value)); }