public void category_add_producer_httppost()
        {
            //Arrange
            TestControllerBuilder builder = new TestControllerBuilder();
            var controller = new CategoryController(new CategoryBLL(new CategoryDALStub()));
            builder.InitializeController(controller);
            builder.HttpContext.Session["loggedInUser"] = new Customer() { id = 1, admin = true };

            var producer = new ProducerInfo()
            {
                prodId = 12,
                prodName = "Produsent"
            };
            //Act
            var result = (JsonResult)controller.addProducer(producer);
            var success = (bool)(new PrivateObject(result.Data, "success")).Target;

            //Assert
            Assert.IsTrue(success); 
        }
        public void category_add_producer_httppost_modelstate_invalid()
        {
            //Arrange
            TestControllerBuilder builder = new TestControllerBuilder();
            var controller = new CategoryController(new CategoryBLL(new CategoryDALStub()));
            builder.InitializeController(controller);
            builder.HttpContext.Session["loggedInUser"] = new Customer() { id = 1, admin = true };
            controller.ViewData.ModelState.AddModelError("error", "noe gikk galt!");
            var producer = new ProducerInfo()
            {
                prodId = 12,
                prodName = "Produsent"
            };
            //Act
            var result = (JsonResult)controller.addProducer(producer);
            var success = (bool)(new PrivateObject(result.Data, "success")).Target;

            //Assert
            Assert.IsFalse(success); 
        }
        public void category_add_producer_view()
        {
            //Arrange
            TestControllerBuilder builder = new TestControllerBuilder();
            var controller = new CategoryController(new CategoryBLL(new CategoryDALStub()));
            builder.InitializeController(controller);
            builder.HttpContext.Session["loggedInUser"] = new Customer() { id = 1, admin = true };

            //Act
            var action = (ViewResult)controller.addProducer();
            var result = (ProducerInfo)action.Model;

            //Assert
            Assert.AreEqual("", action.ViewName);
            Assert.IsNull(result);
        }