public void Cannot_Edit_Nonexistent_Game() { // Организация - создание имитированного хранилища данных Mock <IPorsheRepository> mock = new Mock <IPorsheRepository>(); mock.Setup(m => m.Porshe).Returns(new List <Porshe> { new Porshe { Id = 1, Name = "Игра1" }, new Porshe { Id = 2, Name = "Игра2" }, new Porshe { Id = 3, Name = "Игра3" }, new Porshe { Id = 4, Name = "Игра4" }, new Porshe { Id = 5, Name = "Игра5" } }); // Организация - создание контроллера AdminPorsheController controller = new AdminPorsheController(mock.Object); // Действие Porshe result = controller.Edit(6).ViewData.Model as Porshe; // Assert }
public ViewResult Edit(int Id) { Porshe game = repository.Porshe .FirstOrDefault(g => g.Id == Id); return(View(game)); }
public void Cannot_Save_Invalid_Changes() { // Организация - создание имитированного хранилища данных Mock <IPorsheRepository> mock = new Mock <IPorsheRepository>(); // Организация - создание контроллера AdminPorsheController controller = new AdminPorsheController(mock.Object); // Организация - создание объекта Game Porshe game = new Porshe { Name = "Test" }; // Организация - добавление ошибки в состояние модели controller.ModelState.AddModelError("error", "error"); // Действие - попытка сохранения товара ActionResult result = controller.Edit(game); // Утверждение - проверка того, что обращение к хранилищу НЕ производится mock.Verify(m => m.SavePorshe(It.IsAny <Porshe>()), Times.Never()); // Утверждение - проверка типа результата метода Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public Porshe DeletePorshe(int Id) { Porshe dbEntry = context.Porshe.Find(Id); if (dbEntry != null) { context.Porshe.Remove(dbEntry); context.SaveChanges(); } return(dbEntry); }
public ActionResult Delete(int Id) { Porshe deletedPorshe = repository.DeletePorshe(Id); if (deletedPorshe != null) { TempData["message"] = string.Format("Машина \"{0}\" была удалена", deletedPorshe.Name); } return(RedirectToAction("Index")); }
public ActionResult Edit(Porshe game) { if (ModelState.IsValid) { repository.SavePorshe(game); TempData["message"] = string.Format("Изменения в PORSHE \"{0} {1}\" были сохранены", game.Name, game.Model); return(RedirectToAction("Index")); } else { // Что-то не так со значениями данных return(View(game)); } }
public void SavePorshe(Porshe game) { if (game.Id == 0) { context.Porshe.Add(game); } else { Porshe dbEntry = context.Porshe.Find(game.Id); if (dbEntry != null) { dbEntry.Name = game.Name; dbEntry.Model = game.Model; dbEntry.Price = game.Price; } } context.SaveChanges(); }
public void Can_Delete_Valid_Games() { // Организация - создание объекта Game Porshe game = new Porshe { Id = 2, Name = "Игра2" }; // Организация - создание имитированного хранилища данных Mock <IPorsheRepository> mock = new Mock <IPorsheRepository>(); mock.Setup(m => m.Porshe).Returns(new List <Porshe> { new Porshe { Id = 1, Name = "Игра1" }, new Porshe { Id = 2, Name = "Игра2" }, new Porshe { Id = 3, Name = "Игра3" }, new Porshe { Id = 4, Name = "Игра4" }, new Porshe { Id = 5, Name = "Игра5" } }); // Организация - создание контроллера AdminPorsheController controller = new AdminPorsheController(mock.Object); // Действие - удаление игры controller.Delete(game.Id); // Утверждение - проверка того, что метод удаления в хранилище // вызывается для корректного объекта Game mock.Verify(m => m.DeletePorshe(game.Id)); }
public void Can_Save_Valid_Changes() { // Организация - создание имитированного хранилища данных Mock <IPorsheRepository> mock = new Mock <IPorsheRepository>(); // Организация - создание контроллера AdminPorsheController controller = new AdminPorsheController(mock.Object); // Организация - создание объекта Game Porshe game = new Porshe { Name = "Test" }; // Действие - попытка сохранения товара ActionResult result = controller.Edit(game); // Утверждение - проверка того, что к хранилищу производится обращение mock.Verify(m => m.SavePorshe(game)); // Утверждение - проверка типа результата метода Assert.IsNotInstanceOfType(result, typeof(ViewResult)); }
public void Can_Edit_Game() { // Организация - создание имитированного хранилища данных Mock <IPorsheRepository> mock = new Mock <IPorsheRepository>(); mock.Setup(m => m.Porshe).Returns(new List <Porshe> { new Porshe { Id = 1, Name = "Игра1" }, new Porshe { Id = 2, Name = "Игра2" }, new Porshe { Id = 3, Name = "Игра3" }, new Porshe { Id = 4, Name = "Игра4" }, new Porshe { Id = 5, Name = "Игра5" } }); // Организация - создание контроллера AdminPorsheController controller = new AdminPorsheController(mock.Object); // Действие Porshe game1 = controller.Edit(1).ViewData.Model as Porshe; Porshe game2 = controller.Edit(2).ViewData.Model as Porshe; Porshe game3 = controller.Edit(3).ViewData.Model as Porshe; // Assert Assert.AreEqual(1, game1.Id); Assert.AreEqual(2, game2.Id); Assert.AreEqual(3, game3.Id); }