コード例 #1
0
        public void AddEmployee_Post_Should_Call_Save_On_Reposiotry_And_Redirect_To_Index()
        {
            var employee = new EmployeeViewModel
                               {
                                   Fname = "Ray",
                                   Lname = "Romano",
                                   Bdate = new DateTime(1980, 10, 01),
                                   Ssn = "123-02-1234",
                                   Dno = 99
                               };
            var validationContext = new ValidationContext(employee, null, null);

            //Create a mock repository
            var mockRepository = new Mock<IEmployeeRepository>();

            var employeeController = new EmployeeController(mockRepository.Object);

            var validationResults = new List<ValidationResult>();
            Validator.TryValidateObject(employee, validationContext, validationResults, true);
            foreach (ValidationResult validationResult in validationResults)
            {
                employeeController.ModelState.AddModelError(validationResult.MemberNames.First(),
                                                            validationResult.ErrorMessage);
            }
            var result = (RedirectToRouteResult) employeeController.AddEmployee(employee);
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof (RedirectToRouteResult));
            Assert.AreEqual("Index", result.RouteValues["action"]);

            mockRepository.Verify(x => x.Save(), Times.AtMostOnce());
        }
コード例 #2
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
        public void DeleTemployee_Call_Delete_Method_On_Repository()
        {
            var mockRepository = new Mock<IEmployeeRepository>();

            var employeeController = new EmployeeController(mockRepository.Object);
            employeeController.DeleteEmployee("123-45-4321");
            mockRepository.Verify(x=>x.Delete(It.IsAny<Employee>()), Times.AtMostOnce() );
        }
コード例 #3
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
        public void AddEmployee_Get_Should_Return_Add_Employee_View()
        {
            var testRepository = new TestRepository();

            var employeeController = new EmployeeController(testRepository);
            var result =  employeeController.AddEmployee();
            Assert.IsNotNull(result);

            Assert.AreEqual( "AddEmployee", ((ViewResult)result).ViewName);
        }
コード例 #4
0
        public void EditEmployee_Post_Should_Return_EditEmployee_View_When_Dept_No_Is_Not_In_Range()
        {
            var employee = new EmployeeViewModel {Fname = "Ray", Lname = "Romano", Ssn = "123-02-1234", Dno = 1001};
            var validationContext = new ValidationContext(employee, null, null);
            var testRepository = new TestRepository();

            var employeeController = new EmployeeController(testRepository);

            var validationResults = new List<ValidationResult>();
            Validator.TryValidateObject(employee, validationContext, validationResults, true);
            foreach (ValidationResult validationResult in validationResults)
            {
                employeeController.ModelState.AddModelError(validationResult.MemberNames.First(),
                                                            validationResult.ErrorMessage);
            }

            ActionResult result = employeeController.EditEmployee(employee);

            Assert.IsNotNull(result);

            Assert.AreEqual("EditEmployee", ((ViewResult) result).ViewName);
        }
コード例 #5
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
 public void IndexAction_Should_Return_View_For_ListEmployee()
 {
     var testRepository = new TestRepository();
     var employeeController = new EmployeeController(testRepository);
     var result = employeeController.Index();
     Assert.IsNotNull(result);
     Assert.AreEqual("ListEmployee", result.ViewName);
 }
コード例 #6
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
 public void GetEmployeeList_Should_Return_List_Of_Employee()
 {
     var testRepository = new TestRepository();
     var employeeController = new EmployeeController(testRepository);
     var result = employeeController.GetEmployeeList();
     Assert.IsNotNull(result);
     Assert.IsNotNull(result.Data);
     Assert.IsInstanceOfType(result.Data, typeof(IQueryable<Employee>));
     Assert.AreEqual(((IQueryable<Employee>)(result.Data)).Count( ), 2);
     Assert.AreEqual(((IQueryable<Employee>)(result.Data)).First().Fname, "John");
 }
コード例 #7
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
 public void EditEmployee_Should_Return_EditEmployee_View_With_Populated_View_Models()
 {
     var testRepository = new TestRepository();
     var employeeController = new EmployeeController(testRepository);
     var result = employeeController.EditEmployee("123-321-1234");
     Assert.IsNotNull(result);
     Assert.IsInstanceOfType(result.ViewData.Model,typeof(EmployeeViewModel) );
     Assert.AreEqual(((EmployeeViewModel)result.ViewData.Model).Fname, "John");
     Assert.AreEqual(((EmployeeViewModel)result.ViewData.Model).Lname, "Doe");
 }
コード例 #8
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
        public void EditEmployee_Post_Should_Save_And_Redirect_ToIndex_When_Data_Is_Valid()
        {
            var employee = new EmployeeViewModel { Fname = "Ray", Lname = "Romano", Ssn = "123-02-1234", Dno = 99 };
            var validationContext = new ValidationContext(employee, null, null);
            var testRepository = new TestRepository();

            var employeeController = new EmployeeController(testRepository);

            var validationResults = new List<ValidationResult>();
            Validator.TryValidateObject(employee, validationContext, validationResults, true);
            foreach (var validationResult in validationResults)
            {
                employeeController.ModelState.AddModelError(validationResult.MemberNames.First(),
                                                            validationResult.ErrorMessage);
            }
            var result = (RedirectToRouteResult)employeeController.EditEmployee(employee);
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
コード例 #9
0
ファイル: EmploeeControllerTest.cs プロジェクト: preetil/Test
        public void EditEmployee_Post_Should_Return_EditEmployee_View_With_Required_Data_Missing()
        {
            var employee = new EmployeeViewModel {Fname = "Ray", Lname = "Romano"/*, Ssn = "123-09-3214"*/};
            var validationContext = new ValidationContext(employee, null, null);
            var testRepository = new TestRepository();

            var employeeController = new EmployeeController(testRepository);

            var validationResults = new List<ValidationResult>();
            Validator.TryValidateObject(employee, validationContext, validationResults);
            foreach (var validationResult in validationResults)
            {
                employeeController.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage);
            }

            var result = employeeController.EditEmployee(employee);

            Assert.IsNotNull(result);

            Assert.AreEqual( "EditEmployee", ((ViewResult)result).ViewName  );
        }