public void Details_ReturnTheCorrectDefaultView()
        {
            var fakePostRepository = new Mock<IPostRepository>();
            var fakeViewMapper = new Mock<IViewMapper>();

            var sut = new AdminController(fakePostRepository.Object, fakeViewMapper.Object);
            var viewResult = sut.Details(1) as ViewResult;

            Assert.AreEqual(string.Empty, viewResult.ViewName);
        }
        public void Details_IfPostFoundIsNull_ReturnHttpNotFound()
        {
            var fakePostRepository = new Mock<IPostRepository>();
            fakePostRepository.Setup(x => x.Find(It.IsAny<int>())).Returns(()=> null);
            var fakeViewMapper = new Mock<IViewMapper>();

            var sut = new AdminController(fakePostRepository.Object, fakeViewMapper.Object);
            var viewResult = sut.Details(1) as ViewResult;

            Assert.AreEqual(string.Empty, viewResult.ViewName);
        }
        public void Details_SetIdParamToDefaultValueOfOne_IfParamNotSpecified()
        {
            var fakePostRepository = new Mock<IPostRepository>();
            fakePostRepository.Setup(x => x.All).Returns(Mother.GetTenPosts_With_1_Comment_PerPost());
            var fakeViewMapper = new Mock<IViewMapper>();

            var sut = new AdminController(fakePostRepository.Object, fakeViewMapper.Object);
            sut.Details();

            fakeViewMapper.Verify(x => x.MapIndexViewModel(It.IsAny<List<Post>>(), It.Is<int>(i => i == 29), It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>(), ""));
        }