public void CreateEmployee_WhenEmployeeIsValid_ReturnsTrue() { // Arrange var employeeRepository = new Mock <IEmployeeRepository>(); var employeeValidationStrategies = new List <IEmployeeValidationStrategy>(); var employeeValidationStrategy = new Mock <IEmployeeValidationStrategy>(); var employee = new Employee(); employeeValidationStrategy.Setup(x => x.IsValid(employee)).Returns(true); employeeValidationStrategies.Add(employeeValidationStrategy.Object); var employeeBusinessService = new EmployeeBusinessService(employeeRepository.Object, employeeValidationStrategies); // Act var result = employeeBusinessService.CreateEmployee(employee); // Assert Assert.Equal(false, result); employeeValidationStrategy.Verify(x => x.IsValid(employee), Times.Once); employeeRepository.Verify(x => x.Create(employee), Times.Exactly(1)); }
public void ValidateEmployee_WhenFirstNameIsValid_ReturnsTrue() { // Arrange var employeeRepository = new Mock <IEmployeeRepository>(); var employeeValidationStrategies = new List <IEmployeeValidationStrategy>(); var firstNameValidator = new EmployeeFirstNameValdidationStrategy(); employeeValidationStrategies.Add(firstNameValidator); var employeeBusinessService = new EmployeeBusinessService(employeeRepository.Object, employeeValidationStrategies); var employee = new Employee { FirstName = "Test" }; // Act var result = employeeBusinessService.Validate(employee); // Assert Assert.Equal(true, result); }
public void ValidateEmployee_SalaryIsNotZero_ReturnsTrue() { // Arrange var employeeRepository = new Mock <IEmployeeRepository>(); var employeeValidationStrategies = new List <IEmployeeValidationStrategy>(); var salaryValidator = new EmployeeSalaryValidationStrategy(); employeeValidationStrategies.Add(salaryValidator); var employeeBusinessService = new EmployeeBusinessService(employeeRepository.Object, employeeValidationStrategies); var employee = new Employee { Salary = 1000000 }; // Act var result = employeeBusinessService.Validate(employee); // Assert Assert.Equal(true, result); }
public void ValidateEmployee_WhenLastNameIsNull_ReturnsFalse() { // Arrange var employeeRepository = new Mock <IEmployeeRepository>(); var employeeValidationStrategies = new List <IEmployeeValidationStrategy>(); var lastNameValidator = new EmployeeLastNameValidationStrategy(); employeeValidationStrategies.Add(lastNameValidator); var employeeBusinessService = new EmployeeBusinessService(employeeRepository.Object, employeeValidationStrategies); var employee = new Employee { LastName = null }; // Act var result = employeeBusinessService.Validate(employee); // Assert Assert.Equal(false, result); }
public EmployeeBusinessServiceTests() { _employeeDataService = new Mock <IEmployeeDataService>(); employeeBusinessService = new EmployeeBusinessService(_employeeDataService.Object); }