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