Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        public ActionResult Create()
        {
            var model = new SessionCreateVM();

            return(View(model));
        }