public void Given_a_valid_request_When_Reassign_Then_should_call_appropriate_methods()
        {
            // Given
            var target = CreateRiskAssessmentFurtherActionService();

            var request = new ReassignTaskToEmployeeRequest()
                              {
                                  CompanyId = 1,
                                  TaskId = 2,
                                  UserId = Guid.NewGuid(),
                                  ReassignTaskToId = Guid.NewGuid()
                              };


            _userRepository
                .Setup(x => x.GetByIdAndCompanyId(request.UserId, request.CompanyId))
                .Returns(_user);

            var reassigningTaskTo = new Employee();
            _employeeRepository
                .Setup(x => x.GetByIdAndCompanyId(request.ReassignTaskToId, request.CompanyId))
                .Returns(reassigningTaskTo);

            var mockFurtherControlMeasureTask = new Mock<MultiHazardRiskAssessmentFurtherControlMeasureTask>();

            mockFurtherControlMeasureTask
                .Setup(x => x.TaskAssignedTo)
                .Returns(new Employee {Id = Guid.NewGuid()});

            _tasksRepository
                .Setup(x => x.GetById(request.TaskId))
                .Returns(mockFurtherControlMeasureTask.Object);
            // When
            target.ReassignTask(request);

            // Then
            _userRepository.VerifyAll();
            _employeeRepository.VerifyAll();
            _tasksRepository.VerifyAll();
            mockFurtherControlMeasureTask.Verify(x => x.ReassignTask(reassigningTaskTo, _user));

        }
Ejemplo n.º 2
0
        public virtual void ReassignTask(ReassignTaskToEmployeeRequest request)
        {
            _log.Add(request);

            var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId);
            var employeeReassigningTaskTo = _employeeRepository.GetByIdAndCompanyId(request.ReassignTaskToId,
                                                                                    request.CompanyId);
            var task = _taskRepository.GetById(request.TaskId);
            task.ReassignTask(employeeReassigningTaskTo, user);
            _taskRepository.Save(task);

            _taskRepository.Flush();
        }
 public override void  ReassignTask(ReassignTaskToEmployeeRequest request)
 {
     ReassignTimesCalled++;
 }