public void ValidateEmployees_ThrowsException_WhenSomeManagersAreNotListed() { List <Employee> employees = new List <Employee> { Employee.Create("Employee1", "Employee2", 100), Employee.Create("Employee2", "Employee3", 100) }; EmployeesServices services = new EmployeesServices(employees); services.ValidateEmployees(); Assert.False(services.IsValid); Assert.Contains(services.ValidationErrors, m => m.Message == "Some Managers not listed"); }
public void ValidateEmployees_ThrowsException_WhenTheresMoreThanOneCeo() { List <Employee> employees = new List <Employee> { Employee.Create("Employee1", null, 100), Employee.Create("Employee2", "", 100) }; EmployeesServices services = new EmployeesServices(employees); services.ValidateEmployees(); Assert.False(services.IsValid); Assert.Contains(services.ValidationErrors, m => m.Message == "More than one CEO listed"); }
public void ValidateEmployees_ThrowsException_WhenEmployeesHaveCyclicReference() { List <Employee> employees = new List <Employee> { Employee.Create("Employee0", "", 100), Employee.Create("Employee2", "Employee1", 100), Employee.Create("Employee1", "Employee2", 100) }; EmployeesServices services = new EmployeesServices(employees); services.ValidateEmployees(); Assert.False(services.IsValid); Assert.Contains(services.ValidationErrors, m => m.Message == "Cyclic Reference detected"); }
public void ValidateEmployees_ThrowsException_WhenEmployeeHasMoreThanOneManager() { List <Employee> employees = new List <Employee> { Employee.Create("Employee1", "", 100), Employee.Create("Employee2", "Employee1", 100), Employee.Create("Employee3", "Employee1", 100), Employee.Create("Employee3", "Employee2", 100) }; EmployeesServices services = new EmployeesServices(employees); services.ValidateEmployees(); Assert.False(services.IsValid); Assert.Contains(services.ValidationErrors, m => m.Message == "Employee Employee3 has more than one manager"); }