public void CanDeleteSection()
        {
            Mock<IRepository<Section>> mock_section = new Mock<IRepository<Section>>();
            mock_section.Setup(m => m.Repository).Returns(CreateSectionTab().AsQueryable());

            SectionController controller = new SectionController(mock_section.Object);
            DeleteObjectByName model = new DeleteObjectByName() { Name = "IMZ4" };

            var redirectToRouteResult = controller.Delete(model) as RedirectToRouteResult;
            mock_section.Verify(m => m.DeleteObject(It.IsAny<Section>()), Times.Once());

            Assert.IsNotNull(redirectToRouteResult);
            Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]);
        }
        public void CantDeleteSectionIfPersonListExist()
        {
            Mock<HttpRequestBase> request = new Mock<HttpRequestBase>();
            Mock<HttpResponseBase> response = new Mock<HttpResponseBase>();
            Mock<HttpContextBase> context = new Mock<HttpContextBase>();

            context.Setup(c => c.Request).Returns(request.Object);
            context.Setup(c => c.Response).Returns(response.Object);
            //Add XMLHttpRequest request header
            request.Setup(req => req["X-Requested-With"]).
                Returns("XMLHttpRequest");

            Mock<IRepository<Section>> mock_section = new Mock<IRepository<Section>>();
            mock_section.Setup(m => m.Repository).Returns(CreateSectionTab().AsQueryable());

            SectionController controller = new SectionController(mock_section.Object);
            controller.ControllerContext = new ControllerContext(
            context.Object, new RouteData(), controller);
            DeleteObjectByName model = new DeleteObjectByName() { Name = "IMZ1" };
            var viewResult = controller.Delete(model.Name) as PartialViewResult;

            Assert.IsNotNull(viewResult);
            Assert.AreEqual("Section/_SectionDelete", viewResult.ViewName);
            mock_section.Verify(m => m.DeleteObject(It.IsAny<Section>()), Times.Never());
        }