public async Task VerifyEditActionReturnsViewIfIdIsNull()
		{
			var employeeRepository = new Mock<IEmployeeRepository>();
			var employeeController = new EmployeeController(employeeRepository.Object);
			var httpStatusCodeResult = await employeeController.Edit(Guid.Empty) as HttpStatusCodeResult;
			
			Assert.NotNull(httpStatusCodeResult);
			Assert.Equal(404, httpStatusCodeResult.StatusCode);
		}
		public async Task VerifyEditActionReturnsViewWithModel()
		{
			var employeeRepository = new Mock<IEmployeeRepository>();
			var employeeController = new EmployeeController(employeeRepository.Object);
			var employee = new Employee() { Id = Guid.NewGuid(), Name = "Employee 1" };
			employeeRepository.Setup(x => x.Get(It.IsAny<Guid?>())).Returns(Task.FromResult(employee));
			var employeeResult = await employeeController.Edit(Guid.NewGuid());
			var viewResult = employeeResult as ViewResult;
			var employeeModel = viewResult.ViewData.Model as Employee;
			Assert.Equal("Edit",viewResult.ViewName);
			Assert.NotNull(employeeModel);
		}
		public void VerifyEditActionRedirectsToErrorIfModelStateNotValid()
		{
			var employeeRepository = new Mock<IEmployeeRepository>();
			var employeeController = new EmployeeController(employeeRepository.Object);
			var employee = new Employee() { Id = Guid.NewGuid() };
			//Mocking the employeeController.ModelState.IsValid = false
			employeeController.ModelState.AddModelError("Error", "Name is Required");
			var actionResult =  employeeController.Edit(employee);
			var result = actionResult as ViewResult;
        	Assert.NotNull(result);
			Assert.Equal("Edit", result.ViewName);
		}
		public async Task VerifyEditActionReturns404IfEmployeeNotFound()
		{
			var employeeRepository = new Mock<IEmployeeRepository>();
			employeeRepository.Setup(x => x.Get(It.IsAny<Guid?>())).Returns(Task.FromResult(default(Employee)));
			var employeeController = new EmployeeController(employeeRepository.Object);
			var httpStatusCodeResult = await employeeController.Edit(Guid.NewGuid()) as HttpStatusCodeResult;
			
			Assert.NotNull(httpStatusCodeResult);
			Assert.Equal(404, httpStatusCodeResult.StatusCode);
		}