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