예제 #1
0
        public void Cannot_Save_Invalid_Changes()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IPhotoRepository> mock = new Mock <IPhotoRepository>();

            // Организация - создание контроллера
            PhotoController controller = new PhotoController(mock.Object);

            // Организация - создание объекта Game
            Photo game = new Photo {
                Name = "Test"
            };

            // Организация - добавление ошибки в состояние модели
            controller.ModelState.AddModelError("error", "error");

            // Действие - попытка сохранения товара
            ActionResult result = controller.Edit(photo);

            // Утверждение - проверка того, что обращение к хранилищу НЕ производится
            mock.Verify(m => m.SavePhoto(It.IsAny <Photo>()), Times.Never());

            // Утверждение - проверка типа результата метода
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
예제 #2
0
        public void Cannot_Edit_Nonexistent_Photo()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IPhotoRepository> mock = new Mock <IPhotoRepository>();

            mock.Setup(m => m.Photos).Returns(new List <Photo>
            {
                new Photo {
                    PhotoId = 1, Name = "Фото1"
                },
                new Photo {
                    PhotoId = 2, Name = "Фото2"
                },
                new Photo {
                    PhotoId = 3, Name = "Фото3"
                },
                new Photo {
                    PhotoId = 4, Name = "Фото4"
                },
                new Photo {
                    PhotoId = 5, Name = "Фото5"
                }
            });

            // Организация - создание контроллера
            PhotoController controller = new PhotoController(mock.Object);

            // Действие
            Photo result = controller.Edit(6).ViewData.Model as Photo;

            // Assert
        }
예제 #3
0
        public void Can_Edit_Photo()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IPhotoRepository> mock = new Mock <IPhotoRepository>();

            mock.Setup(m => m.Photos).Returns(new List <Photo>
            {
                new Photo {
                    PhotoId = 1, Name = "Фото1"
                },
                new Photo {
                    PhotoId = 2, Name = "Фото2"
                },
                new Photo {
                    PhotoId = 3, Name = "Фото3"
                },
                new Photo {
                    PhotoId = 4, Name = "Фото4"
                },
                new Photo {
                    PhotoId = 5, Name = "Фото5"
                }
            });

            // Организация - создание контроллера
            PhotoController controller = new PhotoController(mock.Object);

            // Действие
            Photo photo1 = controller.Edit(1).ViewData.Model as Photo;
            Photo photo2 = controller.Edit(2).ViewData.Model as Photo;
            Photo photo3 = controller.Edit(3).ViewData.Model as Photo;

            // Assert
            Assert.AreEqual(1, photo1.PhotoId);
            Assert.AreEqual(2, photo2.PhotoId);
            Assert.AreEqual(3, photo3.PhotoId);
        }
예제 #4
0
        public void Can_Save_Valid_Changes()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IPhotoRepository> mock = new Mock <IPhotoRepository>();

            // Организация - создание контроллера
            PhotoController controller = new PhotoController(mock.Object);

            // Организация - создание объекта Game
            Photo photo = new Photo {
                Name = "Test"
            };

            // Действие - попытка сохранения товара
            ActionResult result = controller.Edit(photo);

            // Утверждение - проверка того, что к хранилищу производится обращение
            mock.Verify(m => m.SavePhoto(photo));

            // Утверждение - проверка типа результата метода
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }