public FreelancerEmployeeServiceTests()
        {
            var id = Guid.NewGuid();

            _freelancer = new FreeLancerEmployee(id, "Петр", "Петров", Departments.IT, 1_000);
            _autorize   = new AutorizeToken(Role.Freelancer, id);
        }
Beispiel #2
0
        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;
 }
Beispiel #7
0
        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);
        }