Beispiel #1
0
        public void Good_Post_Create()
        {
            // Arrange
            var sauceViewModel = new SauceViewModel()
            {
                Name  = "Ostry",
                Price = 2.00M
            };
            var sauce = new Sauce()
            {
                Name  = "Ostry",
                Price = 2.00M
            };
            var validator  = new ModelValidator <SauceViewModel>(sauceViewModel);
            var service    = Substitute.For <ISauceRepository>();
            var mapper     = Substitute.For <IMapper>();
            var controller = new SauceController(service, mapper);

            mapper.Map <SauceViewModel, Sauce>(sauceViewModel).Returns(sauce);
            service.Insert(sauce);
            service.Save();

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

            validator.AddToModelError(controller);
            var result     = controller.Create(sauceViewModel) 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);
        }
Beispiel #2
0
        public void Post_Edit_Model_Is_Null()
        {
            // Arrange
            var   id             = -1;
            Sauce sauce          = null;
            var   sauceViewModel = new SauceViewModel()
            {
                ID    = id,
                Name  = "Ostry",
                Price = 2.00M
            };
            var service    = Substitute.For <ISauceRepository>();
            var mapper     = Substitute.For <IMapper>();
            var validator  = new ModelValidator <SauceViewModel>(sauceViewModel);
            var controller = new SauceController(service, mapper);

            service.Get(id).Returns(sauce);

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

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

            // Assert
            Assert.That(result, !Is.Null);
            Assert.That(valid, Is.True);
            Assert.That(404, Is.EqualTo(statusCode));
        }
Beispiel #3
0
        public void Post_Edit_Is_Not_Valid()
        {
            // Arrange
            var sauceViewModel = new SauceViewModel()
            {
                ID = 1,
                //Name = "Ostry",
                Price = 2.00M
            };
            var service    = Substitute.For <ISauceRepository>();
            var mapper     = Substitute.For <IMapper>();
            var controller = new SauceController(service, mapper);
            var validator  = new ModelValidator <SauceViewModel>(sauceViewModel);

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

            validator.AddToModelError(controller);
            var result     = controller.Edit(sauceViewModel) 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("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData));
            Assert.That("Index", Is.EqualTo(actionName));
        }
Beispiel #4
0
        public ActionResult Create([Bind(Exclude = "ID")] SauceViewModel sauceViewModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie.";
                return(RedirectToAction("Index"));
            }
            var sauce = _mapper.Map <SauceViewModel, Sauce>(sauceViewModel);

            _repository.Insert(sauce);
            _repository.Save();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        public ActionResult Edit(SauceViewModel sauceViewModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie.";
                return(RedirectToAction("Index"));
            }
            var sauce = _repository.Get(sauceViewModel.ID);

            if (sauce == null)
            {
                return(HttpNotFound());
            }
            var result = _mapper.Map <SauceViewModel, Sauce>(sauceViewModel, sauce);

            _repository.Update(result);
            _repository.Save();
            return(RedirectToAction("Index"));
        }
Beispiel #6
0
        public void Good_Post_Edit()
        {
            // Arrange
            var sauce = new Sauce()
            {
                ID    = 1,
                Name  = "Ostry",
                Price = 2.00M
            };
            var sauceViewModel = new SauceViewModel()
            {
                ID    = 1,
                Name  = "Ostry",
                Price = 2.00M
            };
            var service        = Substitute.For <ISauceRepository>();
            var mapper         = Substitute.For <IMapper>();
            var validator      = new ModelValidator <SauceViewModel>(sauceViewModel);
            var fakeController = new FakeController();
            var controller     = new SauceController(service, mapper);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller);
            service.Get(sauce.ID).Returns(sauce);
            mapper.Map <SauceViewModel, Sauce>(sauceViewModel).Returns(sauce);
            service.Update(sauce);
            service.Save();

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

            validator.AddToModelError(controller);
            var result      = controller.Edit(sauceViewModel) 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);
        }
Beispiel #7
0
        public void Good_Get_Edit()
        {
            // Arrange
            var id    = 1;
            var sauce = new Sauce()
            {
                ID    = id,
                Name  = "Ostry",
                Price = 2.00M
            };
            var sauceViewModel = new SauceViewModel()
            {
                ID    = id,
                Name  = "Ostry",
                Price = 2.00M
            };
            var service        = Substitute.For <ISauceRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new SauceController(service, mapper);

            fakeController.PrepareFakeAjaxRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller);
            service.Get(id).Returns(sauce);
            mapper.Map <Sauce, SauceViewModel>(sauce).Returns(sauceViewModel);

            // 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);
        }
Beispiel #8
0
        public void Get_Edit_Not_Ajax_Request()
        {
            // Arrange
            var id    = 1;
            var sauce = new Sauce()
            {
                ID    = id,
                Name  = "Ostry",
                Price = 2.00M
            };
            var sauceViewModel = new SauceViewModel()
            {
                ID    = id,
                Name  = "Ostry",
                Price = 2.00M
            };
            var service        = Substitute.For <ISauceRepository>();
            var mapper         = Substitute.For <IMapper>();
            var fakeController = new FakeController();
            var controller     = new SauceController(service, mapper);

            fakeController.PrepareFakeRequest();
            controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller);
            service.Get(id).Returns(sauce);
            mapper.Map <Sauce, SauceViewModel>(sauce).Returns(sauceViewModel);

            // 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);
        }