public void TestUpdateInvalidSportObjectRedirectsToIndexAction()
        {
            var model = new SportObjectModel
            {
                Sport = new Sport {
                    SportId = 1, Name = "testsport"
                },

                SportObject = new SportObject {
                    SportObjectId = 3, Name = "TestOBJECT"
                }
            };
            var mockManager  = new Mock <ISportManager>();
            var mockTempData = new Mock <ITempDataDictionary>();
            var controller   = new SportController(mockManager.Object)
            {
                TempData = mockTempData.Object
            };

            controller.ModelState.AddModelError("", "");
            mockManager.Setup(x => x.UpdateSportObject(It.IsAny <SportObject>())).Throws <Exception>();

            var objectToTest = new SportObject
            {
                SportObjectId = 3,
                Name          = "Test"
            };

            //Act
            var result = (ViewResult)controller.UpdateObject(objectToTest);

            //Assert
            Assert.True(result.ViewName == "UpdateObject");
        }
        public void TestUpdateSportObjectRedirectsToIndexAction()
        {
            //Arrange

            var model = new SportObjectModel
            {
                Sport = new Sport {
                    SportId = 1, Name = "testsport"
                },

                SportObject = new SportObject {
                    SportObjectId = 3, Name = "TestOBJECT"
                }
            };
            var mockManager  = new Mock <ISportManager>();
            var mockTempData = new Mock <ITempDataDictionary>();
            var controller   = new SportController(mockManager.Object)
            {
                TempData = mockTempData.Object
            };

            mockManager.Setup(x => x.UpdateSportObject(It.IsAny <SportObject>())).Throws <Exception>();

            var objectToTest = new SportObject
            {
                SportObjectId = 3,
                Name          = "Test"
            };

            //Act
            var result = controller.UpdateObject(objectToTest);

            //Assert
            Assert.IsType(typeof(RedirectToActionResult), result);
        }
        public void TestAddInvalidSportObjectReturnsCurrentView()
        {
            //Arrange

            var model = new SportObjectModel
            {
                Sport = new Sport {
                    SportId = 1, Name = "testsport"
                },

                SportObject = new SportObject {
                    SportObjectId = 3, Name = "TestOBJECT"
                }
            };
            var mockManager  = new Mock <ISportManager>();
            var mockTempData = new Mock <ITempDataDictionary>();
            var controller   = new SportController(mockManager.Object)
            {
                TempData = mockTempData.Object
            };

            controller.ModelState.AddModelError("", "");
            mockManager.Setup(x => x.AddSportObject(It.IsAny <Sport>(), It.IsAny <SportObject>())).Throws <Exception>();

            //Act
            var result = (ViewResult)controller.AddObject(model, 1);

            //Asert
            Assert.True(result.ViewName == "AddObject");
        }
        public ActionResult AddObject(int sportid)
        {
            Sport sport = _iSportManager.Read(sportid);

            if (sport != null)
            {
                SportObjectModel model = new SportObjectModel
                {
                    Sport       = sport,
                    SportObject = new SportObject()
                };

                return(View(model));
            }
            return(View("index"));
        }
 public ActionResult AddObject(SportObjectModel model, int sportId)
 {
     if (!ModelState.IsValid)
     {
         return(View("AddObject"));
     }
     try
     {
         if (model.Sport == null)
         {
             model.Sport = _iSportManager.Read(sportId);
         }
         _iSportManager.AddSportObject(model.Sport, model.SportObject);
         TempData["notification"] = model.SportObject.Name.AddMessage("Materiaal");
     }
     catch (Exception)
     {
         TempData["notification"] = model.SportObject.Name.ErrorAddMessage("Materiaal");
     }
     return(RedirectToAction("Index"));
 }