public void WhenGetBlogPosts_ReturnResult()
        {
            var responseMock = new List <BlogPost>();

            responseMock.Add(new BlogPost {
                PostId = 1, Category = new BlogCategory {
                    CategoryId = 1, Name = "Category Alpha"
                }, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now
            });
            responseMock.Add(new BlogPost {
                PostId = 2, Category = new BlogCategory {
                    CategoryId = 2, Name = "Category Beta"
                }, Creator = "User Two", Title = "Otra publicación", Body = "Probando el blog", Dt = DateTime.Now
            });

            var loggerMock      = new Mock <ILogger <BlogPostController> >();
            var postServiceMock = new Mock <IBlogPostService>();

            postServiceMock.Setup(p => p.GetAll()).Returns(responseMock);
            var categoryServiceMock = new Mock <IBlogCategoryService>();

            var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object);
            var posts      = controller.GetBlogPosts();

            Assert.NotNull(posts);
            Assert.Equal(2, posts.Count());
        }
Ejemplo n.º 2
0
        public void GetBlogPostsReturnsOkNoResponseBody()
        {
            // Arrange
            var mockRepository = new Mock <IBlogPostService>();
            var controller     = new BlogPostController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetBlogPosts();
            var createdResult = actionResult as OkNegotiatedContentResult <IEnumerable <BlogPost> >;

            // Assert
            Assert.IsNotNull(actionResult);
            Assert.IsNotNull(createdResult.Content);
            createdResult.Content.Should().BeEmpty();
        }
Ejemplo n.º 3
0
        public async Task Given_DatabaseHasBlogPosts_When_Get_Then_ReturnAllBlogPosts()
        {
            var options = new DbContextOptionsBuilder <Context>()
                          .UseInMemoryDatabase(databaseName: "GetAll")
                          .Options;

            using (var context = new Context(options))
            {
                context.BlogPosts.AddRange(blogPosts);
                context.SaveChanges();
            }

            using (var context = new Context(options))
            {
                var service = new BlogPostController(new GenericRepository <BlogPost>(context));
                var result  = await service.GetBlogPosts();

                Assert.AreEqual(blogPosts.Count, ((result.Result as OkObjectResult).Value as List <BlogPost>).Count);
            }
        }
Ejemplo n.º 4
0
        public void GetBlogPostsReturnsOkResponse()
        {
            // Arrange
            List <BlogPost> blogPosts = new List <BlogPost>
            {
                new BlogPost
                {
                    Slug        = "augmented_reality_iOS_application",
                    Title       = "Augmented Reality iOS Application",
                    Description = "Rubicon Software Development and Gazzda furniture are proud to launch an augmented reality app.",
                    Body        = "The app is simple to use, and will help you decide on your best furniture fit.",
                    TagList     = new string[] { "iOS", "AR" }
                },
                new BlogPost
                {
                    Slug        = "augmented_reality_iOS_application_2",
                    Title       = "Augmented Reality iOS Application 2",
                    Description = "Rubicon Software Development and Gazzda furniture are proud to launch an augmented reality app.",
                    Body        = "The app is simple to use, and will help you decide on your best furniture fit.",
                    TagList     = new string[] { "iOS", "AR", "Gazzda" }
                }
            };
            var mockRepository = new Mock <IBlogPostService>();

            mockRepository.Setup(s => s.GetBlogPosts(""))
            .Returns(blogPosts);
            var controller = new BlogPostController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetBlogPosts();
            var createdResult = actionResult as OkNegotiatedContentResult <IEnumerable <BlogPost> >;
            var result        = createdResult.Content;

            // Assert
            Assert.IsNotNull(actionResult);
            Assert.IsNotNull(createdResult.Content);
            Assert.IsInstanceOfType(createdResult.Content, typeof(IEnumerable <BlogPost>));
            createdResult.Content.Should().NotContainNulls();
            createdResult.Content.Should().HaveCount(2);
            createdResult.Content.Should().Contain(c => c.Slug == "augmented_reality_iOS_application_2");
        }