public async Task Given_ValidBlogPostProvided_When_Put_Then_UpdateBlogPost() { var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "PutSuccess") .Options; using (var context = new Context(options)) { context.BlogPosts.AddRange(blogPosts); context.SaveChanges(); } using (var context = new Context(options)) { var updatedBlogPost = new BlogPost() { Id = blogPosts[0].Id, Title = blogPosts[0].Title, Content = "updated content", }; var service = new BlogPostController(new GenericRepository <BlogPost>(context)); var result = await service.PutBlogPost(updatedBlogPost.Id, updatedBlogPost); Assert.AreEqual(204, (result as StatusCodeResult).StatusCode); Assert.AreEqual("updated content", context.BlogPosts.Find(blogPosts[0].Id).Content); } }
public void GivenABlogPost_WhenPut_ReturnResult() { var loggerMock = new Mock <ILogger <BlogPostController> >(); var postServiceMock = new Mock <IBlogPostService>(); postServiceMock.Setup(p => p.Update(It.IsAny <BlogPost>())); var categoryMock = new BlogCategory { CategoryId = 1, Name = "Category Alpha" }; var categoryServiceMock = new Mock <IBlogCategoryService>(); categoryServiceMock.Setup(p => p.Get(1)).Returns(categoryMock); var putData = new BlogPostViewModel { PostId = 1, CategoryId = 1, Creator = "User One", Title = "My first post", Body = "Hello!", Dt = DateTime.Now }; var controller = new BlogPostController(loggerMock.Object, postServiceMock.Object, categoryServiceMock.Object); var result = controller.PutBlogPost(1, putData); Assert.NotNull(result); var noContentResult = Assert.IsType <NoContentResult>(result); }
public async Task Given_IdDoesNotMatch_When_Put_Then_Return400() { var options = new DbContextOptionsBuilder <Context>() .UseInMemoryDatabase(databaseName: "PutFail") .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.PutBlogPost(new Guid(), blogPosts[0]); Assert.AreEqual(400, (result as BadRequestResult).StatusCode); } }