public FreelancerEmployeeServiceTests() { var id = Guid.NewGuid(); _freelancer = new FreeLancerEmployee(id, "Петр", "Петров", Departments.IT, 1_000); _autorize = new AutorizeToken(Role.Freelancer, id); }
public StaffEmployeeServiceTests() { var id = Guid.NewGuid(); _staff = new StaffEmployee(id, "Петр", "Петров", Departments.IT, 200_000); _autorize = new AutorizeToken(Role.Developer, id); }
/// <summary> /// Конструктор /// </summary> public CompletedTasksLogsService(ICompletedTasksLogRepository repository, AutorizeToken autorize) { _tasksRepository = repository; if (autorize != null) { _autorize = autorize; } }
/// <summary> /// Конструктор /// </summary> public EmployeeService(IEmployeeRepository repository, AutorizeToken autorize) { _employeeRepository = repository; if (autorize.UserRole == Role.Director) { _autorize = autorize; } }
public DirectorEmployeeTests() { var id = Guid.NewGuid(); _director = new DirectorEmployee(id, "Петр", "Петров", Departments.Managment, 200_000); _autorize = new AutorizeToken(Role.Director, id); _staff = new StaffEmployee(id, "Иван", "Иванов", Departments.IT, 100_000); _freelancer = new FreeLancerEmployee(id, "Василий", "Васин", Departments.IT, 1_000); }
/// <summary> /// Конструктор /// </summary> /// <param name="autorize"></param> public CreateTaskLog(AutorizeToken autorize) { _autorize = autorize; }
public void C_GetEmployeeReportByDircetor_ReturnReport(string _id, string name, string surname, Departments department, decimal baseSalary) { var directorID = Guid.Parse("345f97a8-284c-4533-b976-b13d3c75188f"); var id = Guid.Parse(_id); var _autorize = new AutorizeToken(Role.Director, directorID); double expactedAllTotalTime = 29; decimal expactedAllTotalSalary = 33_750; #region TestSetup //Настройка MOCK депозитария ICompletedTaskLogsService _serviceCompletedTaskLogs; ISalaryReportService _salaryReportService; IEmployeeService _employeeService; var idEmp1 = directorID; var idEmp2 = Guid.Parse("345f97a8-287c-4533-b976-b13d3c75188f"); var idEmp3 = Guid.Parse("345f97a8-288c-4533-b976-b13d3c75188f"); Mock <ICompletedTasksLogRepository> _repositoryCompletedTaskLog = new Mock <ICompletedTasksLogRepository>(); _repositoryCompletedTaskLog .Setup(method => method.GetCompletedTasksListInPeriodAsync(DateTime.Now.Date.AddDays(-5), DateTime.Now.Date)) .ReturnsAsync(() => new List <CompletedTaskLog> { new CompletedTaskLog(Guid.NewGuid(), idEmp1, DateTime.Now.Date.AddDays(-5), 5, "TestTask4"), new CompletedTaskLog(Guid.NewGuid(), idEmp2, DateTime.Now.Date.AddDays(-5), 3, "TestTask5"), new CompletedTaskLog(Guid.NewGuid(), idEmp1, DateTime.Now.Date.AddDays(-3), 9, "TestTask5"), new CompletedTaskLog(Guid.NewGuid(), idEmp2, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), new CompletedTaskLog(Guid.NewGuid(), idEmp2, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), new CompletedTaskLog(Guid.NewGuid(), idEmp1, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), new CompletedTaskLog(Guid.NewGuid(), idEmp3, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), new CompletedTaskLog(Guid.NewGuid(), idEmp3, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), new CompletedTaskLog(Guid.NewGuid(), idEmp1, DateTime.Now.Date.AddDays(-2), 3, "TestTask6") }) .Verifiable(); Mock <IEmployeeRepository> _repositoryEmployee; _repositoryEmployee = new Mock <IEmployeeRepository>(); _repositoryEmployee .Setup(method => method.GetEmployeeByIdAsync(idEmp1)) .ReturnsAsync(new DirectorEmployee(idEmp1, name, surname, department, baseSalary)); _repositoryEmployee .Setup(method => method.GetEmployeeByIdAsync(idEmp2)) .ReturnsAsync(new StaffEmployee(idEmp2, "Витя", "Викторов", Departments.IT, 160_000)); _repositoryEmployee .Setup(method => method.GetEmployeeByIdAsync(idEmp3)) .ReturnsAsync(() => null); //Настройка сервисов _serviceCompletedTaskLogs = new CompletedTasksLogsService(_repositoryCompletedTaskLog.Object, _autorize); _employeeService = new EmployeeService(_repositoryEmployee.Object, _autorize); _salaryReportService = new SalaryReportService(_serviceCompletedTaskLogs, _employeeService); #endregion DateTime firstDay = DateTime.Now.Date.AddDays(-5); DateTime lastDay = DateTime.Now.Date; var result = _salaryReportService.GetAllEmployeesSalaryReport((firstDay, lastDay)).Result; Assert.IsNotNull(result); Assert.AreEqual(expactedAllTotalSalary, result.TotalSalary); Assert.AreEqual(expactedAllTotalTime, result.TotalTime); }
public void E_GetEmployeeReportByStaffEmployee_ReturnNull(string _id, string name, string surname, Departments department, decimal baseSalary, Positions position) { var freelancerID = Guid.Parse("345f97a8-288c-4533-b976-b13d3c75188f"); var id = Guid.Parse(_id); var _autorize = new AutorizeToken(Role.Freelancer, freelancerID); #region TestSetup //Настройка MOCK депозитария ICompletedTaskLogsService _serviceCompletedTaskLogs; ISalaryReportService _salaryReportService; IEmployeeService _employeeService; Mock <ICompletedTasksLogRepository> _repositoryCompletedTaskLog; _repositoryCompletedTaskLog = new Mock <ICompletedTasksLogRepository>(); _repositoryCompletedTaskLog .Setup(method => method.GetCompletedTasksListByEmployeeAsync(id, DateTime.Now.Date.AddDays(-5), DateTime.Now.Date)) .ReturnsAsync(() => new List <CompletedTaskLog> { new CompletedTaskLog(Guid.NewGuid(), id, DateTime.Now.Date.AddDays(-5), 5, "TestTask4"), new CompletedTaskLog(Guid.NewGuid(), id, DateTime.Now.Date.AddDays(-5), 3, "TestTask5"), new CompletedTaskLog(Guid.NewGuid(), id, DateTime.Now.Date.AddDays(-3), 9, "TestTask5"), new CompletedTaskLog(Guid.NewGuid(), id, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"), }) .Verifiable(); var idEmp1 = Guid.Parse("345f97a8-287c-4533-b976-b13d3c75188f"); Mock <IEmployeeRepository> _repositoryEmployee; _repositoryEmployee = new Mock <IEmployeeRepository>(); _repositoryEmployee .Setup(method => method.GetEmployeeByIdAsync(idEmp1)) .ReturnsAsync(new DirectorEmployee(idEmp1, name, surname, department, baseSalary)); //Настройка сервисов _serviceCompletedTaskLogs = new CompletedTasksLogsService(_repositoryCompletedTaskLog.Object, _autorize); _employeeService = new EmployeeService(_repositoryEmployee.Object, _autorize); _salaryReportService = new SalaryReportService(_serviceCompletedTaskLogs, _employeeService); //Настройка сотрудника BaseEmployee employee = null; switch (position) { case Positions.None: break; case Positions.Director: employee = new DirectorEmployee(id, name, surname, department, baseSalary); break; case Positions.Developer: employee = new StaffEmployee(id, name, surname, department, baseSalary); break; case Positions.Freelance: employee = new FreeLancerEmployee(id, name, surname, department, baseSalary); break; default: break; } #endregion DateTime firstDay = DateTime.Now.Date.AddDays(-5); DateTime lastDay = DateTime.Now.Date; var result = _salaryReportService.GetEmployeeSalaryReport(employee, (firstDay, lastDay)).Result; Assert.IsNull(result); }