/// <summary>
        /// Этот простой метод ищет стиль с идентификатором,
        /// соответствующим значению параметра paragraphId, и передает его как объект модели представления методу View().
        /// </summary>
        /// <param name="paragraphId"></param>
        /// <returns></returns>
        public ViewResult Edit(int paragraphId)
        {
            StyleP style = styleRepository.Styles
                           .FirstOrDefault(s => s.ParagraphID == paragraphId);

            return(View(style));
        }
Пример #2
0
        public void Cannot_Edit_Nonexistent_Style()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IStyleRepository> mock = new Mock <IStyleRepository>();

            mock.Setup(m => m.Styles).Returns(new List <StyleP>
            {
                new StyleP {
                    ParagraphID = 1, Name = "Параграф 1"
                },
                new StyleP {
                    ParagraphID = 2, Name = "Параграф 2"
                },
                new StyleP {
                    ParagraphID = 3, Name = "Параграф 3"
                },
                new StyleP {
                    ParagraphID = 4, Name = "Параграф 4"
                },
                new StyleP {
                    ParagraphID = 5, Name = "Параграф 5"
                }
            });

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

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

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

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

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

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

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

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

            // Утверждение - проверка типа результата метода
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }
Пример #4
0
        /// <summary>
        /// Удаление из БД (админ)
        /// </summary>
        /// <param name="paragraphID"></param>
        /// <returns></returns>
        public StyleP DeleteStyleParagraph(int paragraphID)
        {
            StyleP dbEntry = context.Style.Find(paragraphID);

            if (dbEntry != null)
            {
                context.Style.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
        public ActionResult Delete(int paragraphID)
        {
            StyleP deletedGame = styleRepository.DeleteStyleParagraph(paragraphID);

            if (deletedGame != null)
            {
                TempData["message"] = string.Format("Стиль \"{0}\" абзаца был удалён",
                                                    deletedGame.Name);
            }
            return(RedirectToAction("IndexStyle"));
        }
 public ActionResult Edit(StyleP style)
 {
     if (ModelState.IsValid)
     {
         styleRepository.SaveStyleParagraph(style);
         // После записи изменений в хранилище мы сохраняем сообщение с применением средства TempData.
         // Объект TempData - это словарь пар "ключ/значение", похожий на используемые ранее данные сеанса и ViewBag.
         // Основное его отличие от данных сеанса состоит в том, что в конце HTTP-запроса объект TempData удаляется.
         TempData["message"] = string.Format("Изменения в стиле абзаца \"{0}\" были сохранены", style.Name);
         return(RedirectToAction("IndexStyle"));
     }
     else
     {
         return(View(style));
     }
 }
Пример #7
0
        public void Can_Delete_Valid_Games()
        {
            // Организация - создание объекта Game
            StyleP game = new StyleP {
                ParagraphID = 2, Name = "Абзац 1"
            };

            // Организация - создание имитированного хранилища данных
            Mock <IStyleRepository> mock = new Mock <IStyleRepository>();

            mock.Setup(m => m.Styles).Returns(new List <StyleP>
            {
                new StyleP {
                    ParagraphID = 1, Name = "Абзац 1"
                },
                new StyleP {
                    ParagraphID = 2, Name = "Абзац 2"
                },
                new StyleP {
                    ParagraphID = 3, Name = "Абзац 3"
                },
                new StyleP {
                    ParagraphID = 4, Name = "Абзац 4"
                },
                new StyleP {
                    ParagraphID = 5, Name = "Абзац 5"
                }
            });

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

            // Действие - удаление игры
            controller.Delete(game.ParagraphID);

            // Утверждение - проверка того, что метод удаления в хранилище
            // вызывается для корректного объекта Style
            mock.Verify(m => m.DeleteStyleParagraph(game.ParagraphID));
        }
Пример #8
0
        public void Can_Save_Valid_Changes()
        {
            // Организация - создание имитированного хранилища данных
            Mock <IStyleRepository> mock = new Mock <IStyleRepository>();

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

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

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

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

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

            mock.Setup(m => m.Styles).Returns(new List <StyleP>
            {
                new StyleP {
                    ParagraphID = 1, Name = "Параграф 1"
                },
                new StyleP {
                    ParagraphID = 2, Name = "Параграф 2"
                },
                new StyleP {
                    ParagraphID = 3, Name = "Параграф 3"
                },
                new StyleP {
                    ParagraphID = 4, Name = "Параграф 4"
                },
                new StyleP {
                    ParagraphID = 5, Name = "Параграф 5"
                }
            });

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

            // Действие
            StyleP game1 = controller.Edit(1).ViewData.Model as StyleP;
            StyleP game2 = controller.Edit(2).ViewData.Model as StyleP;
            StyleP game3 = controller.Edit(3).ViewData.Model as StyleP;

            // Assert
            Assert.AreEqual(1, game1.ParagraphID);
            Assert.AreEqual(2, game2.ParagraphID);
            Assert.AreEqual(3, game3.ParagraphID);
        }
Пример #10
0
 /// <summary>
 /// Запись в БД (админ)
 /// </summary>
 /// <param name="style"></param>
 public void SaveStyleParagraph(StyleP style)
 {
     if (style.ParagraphID == 0)
     {
         context.Style.Add(style);
     }
     else
     {
         StyleP dbEntry = context.Style.Find(style.ParagraphID);
         if (dbEntry != null)
         {
             dbEntry.Name           = style.Name;
             dbEntry.Font           = style.Font;
             dbEntry.Size           = style.Size;
             dbEntry.Color          = style.Color;
             dbEntry.Inscription    = style.Inscription;
             dbEntry.Alignment      = style.Alignment;
             dbEntry.LeftIndention  = style.LeftIndention;
             dbEntry.RightIndention = style.RightIndention;
             //dbEntry.Interval = style.Interval;
         }
     }
     context.SaveChanges();
 }