public void TodosControlesDevemHerdarDeController()
        {
            /* Neste caso não foi possível testas utlizando mocks, pois a interface não pode herdar da classe "Controller" */
            var homeController = new HomeController();
            var productController = new ProductController(new Mock<IProductBusiness>().Object);
            var accountController = new AccountController(new Mock<IAccountBusiness>().Object);
            var carrinhoDeComprasController = new CarrinhoDeComprasController(new Mock<IOrderBusiness>().Object);

            Assert.IsInstanceOf(typeof(Controller), homeController);
            Assert.IsInstanceOf(typeof(Controller), productController);
            Assert.IsInstanceOf(typeof(Controller), accountController);
            Assert.IsInstanceOf(typeof(Controller), carrinhoDeComprasController);
        }
        public void AoSolicitarAVisualizacaoDeUmLivro_OSistemaDevePassarAsInformacoesDoLivroParaTela()
        {
            var business = new Mock<IProductBusiness>();
            business.Setup(x => x.GetInfo(1)).Returns(_livroTDD);
            business.Setup(x => x.GetInfo(2)).Returns(_livroRomance);
            business.Setup(x => x.GetInfo(3)).Returns(_livroFiccao);

            _controller = new ProductController(business.Object);

            var result = _controller.Detail(1);

            Assert.IsInstanceOf<Models.Product.Product>(result.Model);
        }
        public void AoSolicitarAVisualizacaoDeUmLivro_OSistemaDeveBuscarAsInformacoesDoLivroNaCamadaDeNegocios()
        {
            var business = new Mock<IProductBusiness>();
            business.Setup(x => x.GetInfo(1)).Returns(_livroTDD);
            business.Setup(x => x.GetInfo(2)).Returns(_livroRomance);
            business.Setup(x => x.GetInfo(3)).Returns(_livroFiccao);

            _controller = new ProductController(business.Object);

            _controller.Detail(1);

            business.Verify(x => x.GetInfo(1), Times.AtLeastOnce());
        }
        public void AoSolicitarAVisualizacaoDeUmLivro_OSistemaDeveAbrirAPaginaDeVisualizacaoDeLivro()
        {
            var business = new Mock<IProductBusiness>();
            business.Setup(x => x.GetInfo(1)).Returns(_livroTDD);
            business.Setup(x => x.GetInfo(2)).Returns(_livroRomance);
            business.Setup(x => x.GetInfo(3)).Returns(_livroFiccao);

            _controller = new ProductController(business.Object);

            var result = _controller.Detail(1);

            Assert.AreEqual(result.ViewName, "Index");
        }
        public void SetUp()
        {
            _livroTDD = new Product
            {
                ProductId = 1,
                Name = "TDD desenvolvimento guiado por testes",
                Author = "Kent Beck",
                Publishing = "Bookman",
                Year = 2010,
                Category = Categories.LiteraturaEstrangeira,
                Stock = 0,
                Price = 50.0M,
                Photo = ""
            };

            _livroRomance = new Product
            {
                ProductId = 2,
                Name = "O Amor",
                Author = "Escritora Romance",
                Publishing = "Bookman",
                Year = 2007,
                Category = Categories.LiteraturaBrasileira,
                Stock = 0,
                Price = 30.0M,
                Photo = ""
            };

            _livroFiccao = new Product
            {
                ProductId = 3,
                Name = "O Senhor Dos Aneis",
                Author = "Tolken J.R.",
                Publishing = "Abril",
                Year = 2005,
                Category = Categories.LiteraturaEstrangeira,
                Stock = 0,
                Price = 100.0M,
                Photo = ""
            };

            _business = new Mock<IProductBusiness>();
            _business.Setup(x => x.GetInfo(1)).Returns(_livroTDD);
            _business.Setup(x => x.GetInfo(2)).Returns(_livroRomance);
            _business.Setup(x => x.GetInfo(3)).Returns(_livroFiccao);
            _controller = new ProductController(_business.Object);
        }
 public void SetUp()
 {
     _business = new Mock<IProductBusiness>();
     _controller = new ProductController(_business.Object);
 }