Example #1
0
        public void Image_EditImage_GoodInput()
        {
            //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 });
            }

            string goodInput = "1";

            //Act
            var viewResult = controller.EditImage(goodInput) as ViewResult;
            var actualImage = controller.ViewBag.Image;
            var actualProductIDs = controller.ViewBag.ProductIDs;

            //Assert
            Assert.AreEqual(expectedImage.ImageId, actualImage.ImageId);
            Assert.AreEqual(expectedImage.ImageId, actualImage.ImageId);
            Assert.AreEqual(expectedImage.ImageId, actualImage.ImageId);

            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);
        }
Example #2
0
        public void Image_EditImage_NoImageFound()
        {
            //Arrange
            var controller = new ImageController(new ImageBLL(new ImageRepoStub()));
            string badImageId = "-1";

            //Act
            var viewResult = controller.EditImage(badImageId) as ViewResult;

            //Assert
            Assert.AreEqual("Error", controller.ViewBag.Title);
            Assert.AreEqual("Couldnt find an image with id: " + badImageId, controller.ViewBag.Message);
            Assert.AreEqual("~/Views/Shared/Result.cshtml", viewResult.ViewName);
        }
Example #3
0
        public void Image_EditImage_BadInput()
        {
            //Arrange
            var controller = new ImageController(new ImageBLL(new ImageRepoStub()));
            string badInput = "bad input";

            //Act
            var viewResult = controller.EditImage(badInput) as ViewResult;

            //Assert
            Assert.AreEqual("Error", controller.ViewBag.Title);
            Assert.AreEqual("Invalid image id: " + badInput, controller.ViewBag.Message);
            Assert.AreEqual("~/Views/Shared/Result.cshtml", viewResult.ViewName);
        }