public void Create() { var data = new SessionCreateVM(); var mockSetFilm = new Mock <DbSet <Film> >().SetupData(new List <Film>() { new Film() { ID = 1, Name = "test" } }); var mockSet = new Mock <DbSet <Session> >(); var context = new Mock <EFContext>(); context.Setup(x => x.SaveChanges()).Returns(() => 1); context.Setup(m => m.Sessions).Returns(mockSet.Object); context.Setup(m => m.Films).Returns(mockSetFilm.Object); var controller = new SessionController(context.Object); controller.ValidateRequest = true; //empty model var result = controller.Create(data) as ViewResult; Assert.AreEqual(null, result.ViewBag.SuccessResult); //invalid film & starting date yesterday controller.ModelState.Clear(); data.FilmID = 20; data.StartingDate = DateTime.Now.AddDays(-1); result = controller.Create(data) as ViewResult; Assert.AreEqual(null, result.ViewBag.SuccessResult); //success controller.ModelState.Clear(); data.FilmID = 1; data.StartingDate = DateTime.Now; result = controller.Create(data) as ViewResult; Assert.AreNotEqual(null, result.ViewBag.SuccessResult); }
public ActionResult Create(SessionCreateVM model) { if (ModelState.IsValidField(nameof(model.FilmID))) { if (!_context.Films.Any(x => x.ID == model.FilmID)) { ModelState.AddModelError(nameof(model.FilmID), "Фильм с таким id не найден"); } } if (ModelState.IsValidField(nameof(model.StartingDate))) { if (model.StartingDate.Date < DateTime.Now.Date) { ModelState.AddModelError(nameof(model.StartingDate), "Дата меньше текущего дня"); } } if (ModelState.IsValid) { var entityModel = new Session() { FilmID = model.FilmID, StartingDate = model.StartingDate }; _context.Set <Session>().Add(entityModel); _context.SaveChanges(); ViewBag.SuccessResult = "Сеанс упешно добавлен"; return(View(new SessionCreateVM())); } else { return(View(model)); } }
public ActionResult Create() { var model = new SessionCreateVM(); return(View(model)); }