public async Task GetEmployeesAsync_Should_Return_Correct_Results() { // Arrange var employeeServiceMock = new Mock <IEmployeeService>(); var mappingServiceMock = new Mock <IMappingService>(); var calculationServiceMock = new Mock <ICalculationService>(); var employees = new List <Employee> { new Employee(1, "Amanda Woods", "Product Owner", 60000, 1), new Employee(2, "Ross Green", "Software Developer", 70000, 1), }; var department = new DepartmentDto() { Title = "IT", Description = "The software development department for the company" }; var mappedEmployees = new List <EmployeeDto> { new EmployeeDto() { Id = 1, Fullname = "Amanda Woods", JobTitle = "Product Owner", Salary = 60000, Department = department }, new EmployeeDto() { Id = 2, Fullname = "Ross Green", JobTitle = "Software Developer", Salary = 70000, Department = department }, }; var expectedNameFirstEmployee = "Amanda Woods"; var expectedNameSecondEmployee = "Ross Green"; var expectedCollectionCount = 2; mappingServiceMock .Setup(x => x.MapEmployeeCollectionToDto(It.IsAny <IEnumerable <Employee> >())) .Returns(mappedEmployees); var service = new BonusPoolService(employeeServiceMock.Object, calculationServiceMock.Object, mappingServiceMock.Object); // Act var result = await service.GetEmployeesAsync(); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(IEnumerable <EmployeeDto>)); Assert.AreEqual(expectedCollectionCount, result.Count()); Assert.AreEqual(mappedEmployees, result); Assert.AreEqual(expectedNameFirstEmployee, result.FirstOrDefault().Fullname); Assert.AreEqual(expectedNameSecondEmployee, result.LastOrDefault().Fullname); }
public async Task <IActionResult> GetAll() { var bonusPoolService = new BonusPoolService(); return(Ok(await bonusPoolService.GetEmployeesAsync())); }