Example #1
0
        public void Image_CreateImage()
        {
            //Arrange
            var controller = new ImageController(new ImageBLL(new ImageRepoStub()),
                new ProductBLL(new ProductRepoStub()));

            var expectedImage = new Image { ImageId = 1, ProductId = 1, ImageUrl = "test" };
            var allProducts = new List<Product> {
                new Product { ProductId = 1, Name = "tank", Price = 150, Stock = 5, Description = "blows things up", CategoryId = 1},
                new Product { ProductId = 1, Name = "tank", Price = 150, Stock = 5, Description = "blows things up", CategoryId = 1},
                new Product { ProductId = 1, Name = "tank", Price = 150, Stock = 5, Description = "blows things up", CategoryId = 1}
            };

            List<SelectListItem> expectedProductIDs = new List<SelectListItem>();
            foreach (Product p in allProducts)
            {
                string productId = Convert.ToString(p.ProductId);
                expectedProductIDs.Add(new SelectListItem { Text = productId, Value = productId });
            }

            //Act
            var viewResult = controller.CreateImage() as ViewResult;
            var actualProductIDs = controller.ViewBag.ProductIDs;

            //Assert
            Assert.AreEqual(expectedProductIDs.Count, actualProductIDs.Count);
            for (int i = 0; i < actualProductIDs.Count; i++)
            {
                Assert.AreEqual(expectedProductIDs[i].Text, actualProductIDs[i].Text);
                Assert.AreEqual(expectedProductIDs[i].Value, actualProductIDs[i].Value);
            }

            Assert.AreEqual("", viewResult.ViewName);
        }