public void CreateGet_Model_IsEntityObject_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };

            ViewResult result = controller.Create() as ViewResult;

            Assert.IsInstanceOfType(result.Model, typeof(Macroregion));
        }
        //public void TestMethod1() {
        public void Index_Model_IsEntityObjectsCollection_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };

            ViewResult result = controller.Index() as ViewResult;

            Assert.IsInstanceOfType(result.Model, typeof(IEnumerable <Macroregion>));
        }
        public void CreatePost_TempData_KeysContains_message_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            ActionResult result = controller.Create(model);

            Assert.IsTrue(controller.TempData.Keys.Contains("message"));
        }
        public void CreatePost_Repository_SaveIsCalled_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            ActionResult result = controller.Create(model);

            mock.Verify(e => e.Save());
        }
        public void CreatePost_Result_RedirectToActionIndex_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            ActionResult result = controller.Create(model);

            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
            var redirectResult = result as RedirectToRouteResult;

            Assert.AreEqual(redirectResult.RouteValues["action"], "Index");
        }
        public void CreatePost_AddingError_ModelStateIsNotValid_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            mock.Setup(m => m.Add(It.IsAny <Macroregion>())).Throws <Exception>();
            Assert.IsFalse(controller.ModelState.Count > 0);

            ActionResult result = controller.Create(model);

            Assert.IsTrue(controller.ModelState.Count > 0);
            Assert.IsTrue(controller.ModelState.Keys.ElementAt(0) == "");
        }
        public void CreatePost_AddingError_ReturnedViewResult_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            mock.Setup(m => m.Add(It.IsAny <Macroregion>())).Throws <Exception>();

            ActionResult result = controller.Create(model);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            var viewResult = result as ViewResult;

            Assert.AreEqual(viewResult.Model, model);
        }
        public void CreatePost_ModelStateIsNotValid_ReturnedViewResult_moq()
        {
            var mock       = new Mock <IRepository <Macroregion> >();
            var controller = new MacroregionsCrudController()
            {
                Repository = mock.Object
            };
            Macroregion model = new Macroregion();

            controller.ModelState.AddModelError("", "error message");

            ActionResult result = controller.Create(model);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            var viewResult = result as ViewResult;

            Assert.AreEqual(viewResult.Model, model);
        }