Example #1
0
 public void Cannot_Edit_Nonexistent_Product()
 {
     // Arrange - create the mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
     mock.Setup(m => m.Products).Returns(new Product[] {
         new Product {ProductID = 1, Name = "P1"},
         new Product {ProductID = 2, Name = "P2"},
         new Product {ProductID = 3, Name = "P3"},
     });
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Act
     Product result = (Product)target.Edit(4).ViewData.Model;
     // Assert
     Assert.IsNull(result);
 }
Example #2
0
 public void Cannot_Save_Invalid_Changes()
 {
     // Arrange - create mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Arrange - create a product
     Product product = new Product { Name = "Test" };
     // Arrange - add an error to the model state
     target.ModelState.AddModelError("error", "error");
     // Act - try to save the product
     ActionResult result = target.Edit(product);
     // Assert - check that the repository was not called
     mock.Verify(m => m.SaveProduct(It.IsAny<Product>()), Times.Never());
     // Assert - check the method result type
     Assert.IsInstanceOfType(result, typeof(ViewResult));
 }
Example #3
0
 public void Can_Delete_Valid_Products()
 {
     // Arrange - create a Product
     Product prod = new Product { ProductID = 2, Name = "Test" };
     // Arrange - create the mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
         mock.Setup(m => m.Products).Returns(new Product[] {
         new Product {ProductID = 1, Name = "P1"},
         prod,
         new Product {ProductID = 3, Name = "P3"},
     });
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Act - delete the product
     target.Delete(prod.ProductID);
     // Assert - ensure that the repository delete method was
     // called with the correct Product
     mock.Verify(m => m.DeleteProduct(prod.ProductID));
 }
        public void Cannot_Edit_Nonexistent_Game()
        {
            // Arrange - Create the mock repository
            Mock<IGameRepository> mock = new Mock<IGameRepository>();
            mock.Setup(m => m.Games).Returns(new Game[]
            {
                new Game {GameID = 1, Name = "P1"},
                new Game {GameID = 2, Name = "P2"},
                new Game {GameID = 3, Name = "P3"},
            }.AsQueryable());

            // Arrange - Create the controller
            AdminController target = new AdminController(mock.Object);

            // Act
            Game result = (Game)target.Edit(4).ViewData.Model;

            // Assert
            Assert.IsNull(result);
        }
        public void Cannot_Save_Invalid_Changes()
        {
            // Arrange - Create mock repository
            Mock<IGameRepository> mock = new Mock<IGameRepository>();

            // Arrange - Create the controller
            AdminController target = new AdminController(mock.Object);

            // Arrange - Create a game
            Game game = new Game { Name = "Test" };

            // Arrange - Add an error to the model state
            target.ModelState.AddModelError("error", "error");

            // Act - Try to save the game
            ActionResult result = target.Edit(game);

            // Assert - Check that the repository was not called
            mock.Verify(m => m.SaveGame(It.IsAny<Game>()), Times.Never());

            // Assert - Check the method result type
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
        public void Can_Edit_Game()
        {
            // Arrange - Create the mock repository
            Mock<IGameRepository> mock = new Mock<IGameRepository>();
            mock.Setup(m => m.Games).Returns(new Game[]
            {
                new Game {GameID = 1, Name = "P1"},
                new Game {GameID = 2, Name = "P2"},
                new Game {GameID = 3, Name = "P3"},
            }.AsQueryable());

            // Arrange - Create the controller
            AdminController target = new AdminController(mock.Object);

            // Act
            Game p1 = target.Edit(1).ViewData.Model as Game;
            Game p2 = target.Edit(2).ViewData.Model as Game;
            Game p3 = target.Edit(3).ViewData.Model as Game;

            // Assert
            Assert.AreEqual(1, p1.GameID);
            Assert.AreEqual(2, p2.GameID);
            Assert.AreEqual(3, p3.GameID);
        }
Example #7
0
 public void Can_Edit_Product()
 {
     // Arrange - create the mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
     mock.Setup(m => m.Products).Returns(new Product[] {
         new Product {ProductID = 1, Name = "P1"},
         new Product {ProductID = 2, Name = "P2"},
         new Product {ProductID = 3, Name = "P3"},
     });
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Act
     Product p1 = target.Edit(1).ViewData.Model as Product;
     Product p2 = target.Edit(2).ViewData.Model as Product;
     Product p3 = target.Edit(3).ViewData.Model as Product;
     // Assert
     Assert.AreEqual(1, p1.ProductID);
     Assert.AreEqual(2, p2.ProductID);
     Assert.AreEqual(3, p3.ProductID);
 }
Example #8
0
 public void Index_Contains_All_Products()
 {
     // Arrange - create the mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
         mock.Setup(m => m.Products).Returns(new Product[] {
         new Product {ProductID = 1, Name = "P1"},
         new Product {ProductID = 2, Name = "P2"},
         new Product {ProductID = 3, Name = "P3"},
     });
     // Arrange - create a controller
     AdminController target = new AdminController(mock.Object);
     // Action
     Product[] result = ((IEnumerable<Product>)target.Index().
     ViewData.Model).ToArray();
     // Assert
     Assert.AreEqual(result.Length, 3);
     Assert.AreEqual("P1", result[0].Name);
     Assert.AreEqual("P2", result[1].Name);
     Assert.AreEqual("P3", result[2].Name);
 }
Example #9
0
 public void Can_Save_Valid_Changes()
 {
     // Arrange - create mock repository
     Mock<IProductRepository> mock = new Mock<IProductRepository>();
     // Arrange - create the controller
     AdminController target = new AdminController(mock.Object);
     // Arrange - create a product
     Product product = new Product { Name = "Test" };
     // Act - try to save the product
     ActionResult result = target.Edit(product);
     // Assert - check that the repository was called
     mock.Verify(m => m.SaveProduct(product));
     // Assert - check the method result type
     Assert.IsNotInstanceOfType(result, typeof(ViewResult));
 }
        public void Can_Save_Valid_Changes()
        {
            // Arrange - Create mock repository
            Mock<IGameRepository> mock = new Mock<IGameRepository>();

            // Arrange - Create the controller
            AdminController target = new AdminController(mock.Object);

            // Arrange - Create a game
            Game game = new Game { Name = "Test" };

            // Act - Try to save the game
            ActionResult result = target.Edit(game);

            // Assert - Check that the repository was called
            mock.Verify(m => m.SaveGame(game));

            // Assert - Check the method result type
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
        public void Index_Contains_All_Games()
        {
            // Arrange - Create the mock repository
            Mock<IGameRepository> mock = new Mock<IGameRepository>();
            mock.Setup(m => m.Games).Returns(new Game[]
            {
                new Game {GameID = 1, Name = "P1"},
                new Game {GameID = 2, Name = "P2"},
                new Game {GameID = 3, Name = "P3"},
            }.AsQueryable());

            // Arrange - Create a controller
            AdminController target = new AdminController(mock.Object);

            // Action
            Game[] result = ((IEnumerable<Game>)target.Index().
                ViewData.Model).ToArray();

            // Assert
            Assert.AreEqual(result.Length, 3);
            Assert.AreEqual("P1", result[0].Name);
            Assert.AreEqual("P2", result[1].Name);
            Assert.AreEqual("P3", result[2].Name);
        }