Пример #1
0
        public void Post_Edit_Model_Is_Null()
        {
            // Arrange
            var        id                  = -1;
            SliderItem sliderItem          = null;
            var        sliderItemViewModel = new SliderItemViewModel()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service    = Substitute.For <ISliderItemService>();
            var validator  = new ModelValidator <SliderItemViewModel>(sliderItemViewModel);
            var controller = new SliderItemController(service);

            service.GetSliderItem(id).Returns(sliderItem);

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result     = controller.Edit(sliderItemViewModel) as HttpNotFoundResult;
            var statusCode = result.StatusCode;

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(valid, Is.True);
            Assert.That(404, Is.EqualTo(statusCode));
        }
Пример #2
0
        public void Post_Edit_Is_Not_Valid()
        {
            // Arrange
            var sliderItemViewModel = new SliderItemViewModel()
            {
                Position = 1,
                //ShortDescription = "Slider description 1",
                PictureUrl = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service    = Substitute.For <ISliderItemService>();
            var controller = new SliderItemController(service);
            var validator  = new ModelValidator <SliderItemViewModel>(sliderItemViewModel);

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result     = controller.Edit(sliderItemViewModel) as RedirectToRouteResult;
            var actionName = result.RouteValues.Values.ElementAt(0);
            var tempData   = controller.TempData["ModelIsNotValid"];

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(valid, Is.False);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData));
        }
Пример #3
0
        public IActionResult Create(SliderItemViewModel model)
        {
            if (ModelState.IsValid)
            {
                var sliderItem = _mapper.Map <SliderItemViewModel, SliderItem>(model);
                sliderItem.AddedBy  = _admin.Fullname;
                sliderItem.EndPoint = "#";
                _sectionRepository.CreateSLiderItem(sliderItem);

                return(RedirectToAction("index"));
            }

            return(View(model));
        }
Пример #4
0
        public void Good_Post_Create()
        {
            // Arrange
            var sliderItemViewModel = new SliderItemViewModel()
            {
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var sliderItem = new SliderItem()
            {
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var fileName    = "text.jpg";
            var fileLength  = 1000;
            var contentType = "image";
            var fakeImage   = Substitute.For <HttpPostedFileBase>();
            var validator   = new ModelValidator <SliderItemViewModel>(sliderItemViewModel);
            var service     = Substitute.For <ISliderItemService>();

            fakeImage.FileName.Returns(fileName);
            fakeImage.ContentType.Returns(contentType);
            fakeImage.ContentLength.Returns(fileLength);

            var controller = new SliderItemController(service);

            service.MapViewModelToModel(sliderItemViewModel).Returns(sliderItem);
            sliderItem.PictureUrl = service.AddSliderItemImage(fakeImage);
            service.CreateSliderItem(sliderItem);
            service.SaveSliderItem();

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result     = controller.Create(sliderItemViewModel, fakeImage) as RedirectToRouteResult;
            var actionName = result.RouteValues.Values.ElementAt(0);

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That(valid, Is.True);
        }
Пример #5
0
        public void Good_Post_Edit()
        {
            // Arrange
            var id = 1;
            var sliderItemViewModel = new SliderItemViewModel()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var sliderItem = new SliderItem()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service        = Substitute.For <ISliderItemService>();
            var validator      = new ModelValidator <SliderItemViewModel>(sliderItemViewModel);
            var fakeController = new FakeController();
            var controller     = new SliderItemController(service);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SliderItemController>(new RouteData(), controller);
            service.GetSliderItem(sliderItem.ID).Returns(sliderItem);
            service.MapViewModelToModel(sliderItemViewModel).Returns(sliderItem);
            service.UpdateSliderItem(sliderItem);
            service.SaveSliderItem();

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result      = controller.Edit(sliderItemViewModel) as RedirectToRouteResult;
            var actionName  = result.RouteValues.Values.ElementAt(0);
            var ajaxRequest = controller.Request.IsAjaxRequest();

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That(ajaxRequest, Is.True);
            Assert.That(valid, Is.True);
        }
Пример #6
0
        public ActionResult Edit(SliderItemViewModel sliderItemViewModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie.";
                return(RedirectToAction("Index"));
            }
            var sliderItem = _service.GetSliderItem(sliderItemViewModel.ID);

            if (sliderItem == null)
            {
                return(HttpNotFound());
            }
            var result = _service.MapViewModelToModel(sliderItemViewModel, sliderItem);

            _service.UpdateSliderItem(result);
            _service.SaveSliderItem();
            return(RedirectToAction("Index"));
        }
Пример #7
0
        public ActionResult Create([Bind(Exclude = "ID, PictureUrl")] SliderItemViewModel sliderItemViewModel, HttpPostedFileBase PictureContent)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie.";
                return(RedirectToAction("Index"));
            }

            if (PictureContent == null || PictureContent.ContentLength <= 0 || !PictureContent.ContentType.Contains("image"))
            {
                TempData["ModelIsNotValid"] = "Zdjęcie nie zostało przesłane prawidłowo. Spróbuj ponownie.";
                return(RedirectToAction("Index"));
            }
            var sliderItem = _service.MapViewModelToModel(sliderItemViewModel);

            sliderItem.PictureUrl = _service.AddSliderItemImage(PictureContent);
            _service.CreateSliderItem(sliderItem);
            _service.SaveSliderItem();
            return(RedirectToAction("Index"));
        }
Пример #8
0
        public IActionResult Edit(SliderItemViewModel model)
        {
            if (ModelState.IsValid)
            {
                var sliderİtem = _mapper.Map <SliderItemViewModel, SliderItem>(model);

                var sliderToUpdate = _sectionRepository.GetSliderItemById(model.Id);

                if (sliderToUpdate == null)
                {
                    return(NotFound());
                }

                sliderİtem.ModifiedBy = _admin.Fullname;

                _sectionRepository.UpdateSLiderİtem(sliderToUpdate, sliderİtem);

                return(RedirectToAction("index"));
            }
            return(View(model));
        }
Пример #9
0
        public void Good_Get_Edit()
        {
            // Arrange
            var id = 1;
            var sliderItemViewModel = new SliderItemViewModel()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var sliderItem = new SliderItem()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service        = Substitute.For <ISliderItemService>();
            var fakeController = new FakeController();
            var controller     = new SliderItemController(service);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SliderItemController>(new RouteData(), controller);
            service.GetSliderItem(id).Returns(sliderItem);
            service.MapModelToViewModel(sliderItem).Returns(sliderItemViewModel);

            // Act
            var result      = controller.Edit(id) as PartialViewResult;
            var viewName    = result.ViewName;
            var model       = result.Model;
            var ajaxRequest = controller.Request.IsAjaxRequest();

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("_EditPartial", Is.EqualTo(viewName));
            Assert.That(ajaxRequest, Is.True);
            Assert.That(model, !Is.Null);
        }
Пример #10
0
        public void Post_Create_File_Is_Null_And_Content_Type_Not_Image()
        {
            // Arrange
            var sliderItemViewModel = new SliderItemViewModel()
            {
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            HttpPostedFileBase fakeImage = null;
            var service    = Substitute.For <ISliderItemService>();
            var controller = new SliderItemController(service);

            // Act
            var result     = controller.Create(sliderItemViewModel, fakeImage) as RedirectToRouteResult;
            var actionName = result.RouteValues.Values.ElementAt(0);
            var tempData   = controller.TempData["ModelIsNotValid"];

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That("Zdjęcie nie zostało przesłane prawidłowo. Spróbuj ponownie.", Is.EqualTo(tempData));
        }
Пример #11
0
        public void Get_Edit_Not_Ajax_Request()
        {
            // Arrange
            var id = 1;
            var sliderItemViewModel = new SliderItemViewModel()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var sliderItem = new SliderItem()
            {
                ID               = id,
                Position         = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var service        = Substitute.For <ISliderItemService>();
            var fakeController = new FakeController();
            var controller     = new SliderItemController(service);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SliderItemController>(new RouteData(), controller);
            service.GetSliderItem(id).Returns(sliderItem);
            service.MapModelToViewModel(sliderItem).Returns(sliderItemViewModel);

            // Act
            var result      = controller.Edit(id) as RedirectToRouteResult;
            var actionName  = result.RouteValues.Values.ElementAt(0);
            var ajaxRequest = controller.Request.IsAjaxRequest();

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That("Index", Is.EqualTo(actionName));
            Assert.That(ajaxRequest, Is.False);
        }
Пример #12
0
        public void Post_Create_Model_Not_Valid()
        {
            // Arrange
            var sliderItemViewModel = new SliderItemViewModel()
            {
                //Position = 1,
                ShortDescription = "Slider description 1",
                PictureUrl       = "/Content/Images/pizzaSlide_1.jpg"
            };
            var fileName    = "text.jpg";
            var fileLength  = 1000;
            var contentType = "image";
            var fakeImage   = Substitute.For <HttpPostedFileBase>();
            var validator   = new ModelValidator <SliderItemViewModel>(sliderItemViewModel);
            var service     = Substitute.For <ISliderItemService>();

            fakeImage.FileName.Returns(fileName);
            fakeImage.ContentType.Returns(contentType);
            fakeImage.ContentLength.Returns(fileLength);

            var controller = new SliderItemController(service);

            // Act
            var valid = validator.IsValid();

            validator.AddToModelError(controller);
            var result     = controller.Create(sliderItemViewModel, fakeImage) as RedirectToRouteResult;
            var actionName = result.RouteValues.Values.ElementAt(0);
            var tempData   = controller.TempData["ModelIsNotValid"];

            // Assert
            Assert.That(valid, Is.False);
            Assert.That(result, !Is.Null);
            Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData));
            Assert.That("Index", Is.EqualTo(actionName));
        }
Пример #13
0
        public SliderItem MapViewModelToModel(SliderItemViewModel viewModel, SliderItem sliderItem)
        {
            var model = _mapper.Map <SliderItemViewModel, SliderItem>(viewModel, sliderItem);

            return(model);
        }