public void VerifyCreateActionReturnsCreateView()
		{
			var employeeRepository = new Mock<IEmployeeRepository>();
			var employeeController = new EmployeeController(employeeRepository.Object);
			var actionResult = employeeController.Create();
			var result = actionResult as ViewResult;
        	Assert.NotNull(result);
			Assert.Equal("Create", result.ViewName);
		}
		public void VerifyCreateActionSavesTheRecordAndRedirects()
		{
			var employeeId = Guid.NewGuid();
			var employee = new Employee();
			employee.Id = employeeId;
			employee.Name = "Employee";
			employee.Designation = "Lead";
			employee.JoiningDate = DateTime.UtcNow;
			employee.Remarks = "Remarks for employee";
			var employeeRepository = new Mock<IEmployeeRepository>();
			employeeRepository.Setup(rep => rep.Save(It.IsAny<Employee>())).Verifiable();
			var employeeController = new EmployeeController(employeeRepository.Object);
			var actionResult = employeeController.Create(employee);
			var result = actionResult as RedirectToActionResult;
        	Assert.NotNull(result);
			Assert.Equal("Index", result.ActionName);
			employeeRepository.Verify();
		}
		public void VerifyCreateActionRedirectsToErrorIfModelStateNotValid()
		{
			var employee = new Employee();
			var employeeRepository = new Mock<IEmployeeRepository>();
			employeeRepository.Setup(rep => rep.Save(It.IsAny<Employee>())).Verifiable();
			var employeeController = new EmployeeController(employeeRepository.Object);
			//Mocking the employeeController.ModelState.IsValid = false
			employeeController.ModelState.AddModelError("Error", "Name is Required");
			var actionResult = employeeController.Create(employee);
			var result = actionResult as ViewResult;
        	Assert.NotNull(result);
			Assert.Equal("Create", result.ViewName);
		}