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 AoAcessarATelaDeLogin_OControlerDeveEnviarUmObjetoModelDoTipoLoginParaTela()
        {
            var business = new Mock<IAccountBusiness>();

            var accountController = new AccountController(business.Object);

            var result = accountController.Login() as ViewResult;

            var type = result.Model.GetType();

            var test = type == typeof(Models.Account.Login);

            Assert.IsTrue(test);
        }
        public void AoControleEnviarOsDadosIncorretosDoUsuario_ComoFuncionarioDaLoja_OControleDeveRetornarParaPaginaDeLoginEInformarQueOsDadosEstaoIncorretos()
        {
            var usuario = new Models.Account.Login { Email = "*****@*****.**", Password = "******" };

            var business = new Mock<IAccountBusiness>();
            business.Setup(x => x.CheckUser(usuario.Email, Helpers.ConvertToSHA1(usuario.Password))).Returns(false);

            _controller = new AccountController(business.Object);

            var result = _controller.Login(usuario) as ViewResult;

            StringAssert.AreEqualIgnoringCase("Login", result.ViewName);
            StringAssert.AreEqualIgnoringCase("Dados do usuário inválidos.", result.ViewData["erroLogin"] as string);
        }