Esempio n. 1
0
        public void Get_By_Id_Returns_NotFound_When_Given_Unknown_id()
        {
            // Arrange
            var posts = new List <Post>(); // no posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get(1);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Esempio n. 2
0
        public void Delete_Method_Removes_A_Post()
        {
            // Arrange
            var testPostId = 99;
            var posts      = CreateTestPosts(5);

            posts[0].Id = testPostId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            controller.Delete(testPostId);

            // Assert
            var postFromDb = repo.InternalData.FirstOrDefault(p => p.Id == testPostId);

            Assert.Null(postFromDb);
        }
Esempio n. 3
0
        public void Get_Returns_All_Posts()
        {
            // Arrange
            var postCount = 20;
            var posts     = CreateTestPosts(postCount);

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get();

            // Assert
            var okResult    = Assert.IsType <OkObjectResult>(result);
            var actualPosts = Assert.IsType <List <Post> >(okResult.Value);

            Assert.Equal(postCount, actualPosts.Count);
            Assert.Equal(posts, actualPosts);
        }
Esempio n. 4
0
        public void Get_By_Id_Returns_Post_With_Given_Id()
        {
            // Arrange
            var testPostId = 99;
            var posts      = CreateTestPosts(5);

            posts[0].Id = testPostId; // Make sure we know the Id of one of the posts

            var repo       = new InMemoryPostRepository(posts);
            var controller = new PostController(repo);

            // Act
            var result = controller.Get(testPostId);

            // Assert
            var okResult   = Assert.IsType <OkObjectResult>(result);
            var actualPost = Assert.IsType <Post>(okResult.Value);

            Assert.Equal(testPostId, actualPost.Id);
        }