public void DeleteAuthor_WithInvalidData_ShouldReturn404NotFound()
        {
            // Arrange
            var fakeAuthors = this.mockContainer.AuthorRepositoryMock.Object.All();
            var mockContext = new Mock<IMoviesGalleryData>();
            mockContext.Setup(r => r.Authors.All()).Returns(fakeAuthors.AsQueryable());

            // Act
            var controller = new AuthorsController(mockContext.Object);
            this.SetupController(controller);
            var httpDeleteResponse = controller.DeleteAuthor(11111).ExecuteAsync(CancellationToken.None).Result;

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, httpDeleteResponse.StatusCode);
        }
        public void DeleteAuthor_WithValidData_ShouldDeleteAuthorAndReturn200Ok()
        {
            // Arrange
            var fakeAuthors = this.mockContainer.AuthorRepositoryMock.Object.All();
            var mockContext = new Mock<IMoviesGalleryData>();
            mockContext.Setup(r => r.Authors.All()).Returns(fakeAuthors.AsQueryable());

            // Act
            var controller = new AuthorsController(mockContext.Object);
            this.SetupController(controller);
            var httpDeleteResponse = controller.DeleteAuthor(1).ExecuteAsync(CancellationToken.None).Result;

            // Assert
            mockContext.Verify(c => c.SaveChanges(), Times.Once);
            Assert.AreEqual(HttpStatusCode.OK, httpDeleteResponse.StatusCode);
        }