public void CanEditSection()
        {
            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);
            SectionModel section = new SectionModel();

            Section temp = mock_section.Object.Repository.FirstOrDefault(x => x.short_name == "IMZ6");
            Assert.IsNotNull(temp);
            Assert.AreEqual(temp.id, 6);
            Assert.AreEqual(temp.name, "FFF");
            Assert.AreEqual(temp.email, "*****@*****.**");
            Assert.AreEqual(temp.locality, "Łódź");
            Assert.AreEqual(temp.phone_number, "723178153");
            Assert.AreEqual(temp.postal_code, "22-336");
            Assert.AreEqual(temp.post, "Łódź");
            Assert.AreEqual(temp.short_name, "IMZ6");
            Assert.AreEqual(temp.street, "Spółdzielców 61");

            section.id = 6;
            section.email = "*****@*****.**";
            section.locality = "Radom";
            section.name = "YYY";
            section.phone_number = "551111111";
            section.post = "Radom";
            section.postal_code = "11-111";
            section.short_name = "IMZ111";
            section.street = "Łódzka 55";

            var redirectToRouteResult = controller.Edit(section) as RedirectToRouteResult;

            temp = mock_section.Object.Repository.FirstOrDefault(x => x.id == 6);
            Assert.AreEqual(temp.name, "YYY");
            Assert.AreEqual(temp.email, "*****@*****.**");
            Assert.AreEqual(temp.locality, "Radom");
            Assert.AreEqual(temp.phone_number, "551111111");
            Assert.AreEqual(temp.postal_code, "11-111");
            Assert.AreEqual(temp.post, "Radom");
            Assert.AreEqual(temp.short_name, "IMZ111");
            Assert.AreEqual(temp.street, "Łódzka 55");

            mock_section.Verify(m => m.EditObject(temp), Times.Once());

            Assert.IsNotNull(redirectToRouteResult);
            Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]);
        }
        public void CantEditSection()
        {
            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);
            SectionModel section = null;

            var redirectToRouteResult = controller.Edit(section) as RedirectToRouteResult;

            mock_section.Verify(m => m.EditObject(It.IsAny<Section>()), Times.Never());

            Assert.IsNotNull(redirectToRouteResult);
            Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]);
        }