public void Edit_Repository_UpdateIsCalled()
        {
            var mock       = new Mock <IRepository <MyTestResults> >();
            var controller = new TestResultController()
            {
                Repository = mock.Object
            };

            MyTestResults model = new MyTestResults();
            var           res   = controller.Edit(model);

            mock.Verify(e => e.Update(model));
        }
        public void Edit_ModelStateIsNotValid_UpdateNeverCalled()
        {
            var mock       = new Mock <IRepository <MyTestResults> >();
            var controller = new TestResultController()
            {
                Repository = mock.Object
            };

            MyTestResults model = new MyTestResults();

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

            var res = controller.Edit(model);

            mock.Verify(e => e.Update(model), Times.Never());
        }
        public void Edit_ModelStateIsNotValid_ReturnTestResultModel()
        {
            var mock       = new Mock <IRepository <MyTestResults> >();
            var controller = new TestResultController()
            {
                Repository = mock.Object
            };

            MyTestResults model = new MyTestResults();

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

            var res = controller.Edit(model);

            Assert.IsInstanceOfType((res as ViewResult).Model, typeof(MyTestResults));
        }
        public void Edit_Result_RedirectToTestResultsList()
        {
            var mock       = new Mock <IRepository <MyTestResults> >();
            var controller = new TestResultController()
            {
                Repository = mock.Object
            };

            MyTestResults model = new MyTestResults();
            var           res   = controller.Edit(model);

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

            Assert.AreEqual(redirectResult.RouteValues["action"], "TestResultsList");
        }
        public void Edit_Id1_Student1()
        {
            var stud1 = collection.First();

            var mock = new Mock <IRepository <MyTestResults> >();

            mock.Setup(e => e.GetAll()).Returns(collection);
            mock.Setup(e => e.GetById(stud1.Id)).Returns(stud1);
            var controller = new TestResultController()
            {
                Repository = mock.Object
            };

            var           res   = controller.Edit(stud1.Id);
            MyTestResults model = (res as ViewResult).Model as MyTestResults;

            Assert.AreEqual(stud1, model);
        }