public void CallingSaveChecklistGeneratorCallsCorrectMethods() { var hasMultipleChecklistRecipients = false; var employeeId = Guid.NewGuid(); var employeeEmail = "*****@*****.**"; var personalRiskAssessmentId = 1728L; var currentUserId = Guid.NewGuid(); var request = new SaveChecklistGeneratorRequest { PersonalRiskAssessmentId = personalRiskAssessmentId, HasMultipleChecklistRecipients = hasMultipleChecklistRecipients, ChecklistIds = new List<long> {12, 45, 72}, RequestEmployees = new List<EmployeeWithNewEmailRequest> { new EmployeeWithNewEmailRequest {EmployeeId = employeeId, NewEmail = employeeEmail } }, Message = "Test Message", CurrentUserId = currentUserId }; var checklistsToReturn = new List<Checklist> { new Checklist {Id = 12}, new Checklist {Id = 45}, new Checklist {Id = 72} }; var employee = new Employee { Id = employeeId, ContactDetails = new List<EmployeeContactDetail> { new EmployeeContactDetail {Email = employeeEmail} } }; var currentUser = new UserForAuditing{ Id = currentUserId}; var personalRiskAssessment = new Mock<PersonalRiskAssessment>(); _checklistRepository .Setup(x => x.GetByIds(request.ChecklistIds)) .Returns(checklistsToReturn); _employeeRepository .Setup(x => x.GetById(employeeId)) .Returns(employee); _userRepo .Setup(x => x.GetById(currentUserId)) .Returns(currentUser); _personalRiskAssessmentRepository .Setup(x => x.GetById(personalRiskAssessmentId)) .Returns(personalRiskAssessment.Object); GetTarget().SaveChecklistGenerator(request); _checklistRepository.Verify(x => x.GetByIds(request.ChecklistIds)); _employeeRepository.Verify(x => x.GetById(employeeId)); _userRepo.Verify(x => x.GetById(currentUserId)); _personalRiskAssessmentRepository.Verify(x => x.GetById(personalRiskAssessmentId)); personalRiskAssessment.Verify(x => x.SaveChecklistGenerator( hasMultipleChecklistRecipients, It.Is<IList<EmployeesWithNewEmailsParameters>>( y => y.Count() == 1 && y[0].Employee == employee && y[0].NewEmail == employeeEmail ), checklistsToReturn, request.Message, currentUser, null, null, null)); }
private void UpdateChecklistGenerator(EmployeeChecklistGeneratorViewModel viewModel) { var request = new SaveChecklistGeneratorRequest() { Message = viewModel.Message, PersonalRiskAssessmentId = viewModel.RiskAssessmentId, CurrentUserId = CurrentUser.UserId, RequestEmployees = viewModel.ChecklistsToGenerate.RequestEmployees, HasMultipleChecklistRecipients = viewModel.ChecklistsToGenerate.HasMultipleChecklistRecipients, ChecklistIds = viewModel.ChecklistsToGenerate.ChecklistIds, SendCompletedChecklistNotificationEmail = viewModel.SendCompletedChecklistNotificationEmail, CompletionDueDateForChecklists = viewModel.CompletionDueDateForChecklists, CompletionNotificationEmailAddress = viewModel.CompletionNotificationEmailAddress }; _personalRiskAssessmentService.SaveChecklistGenerator(request); }
public void SaveChecklistGenerator(SaveChecklistGeneratorRequest request) { var checklists = _checklistRepository.GetByIds(request.ChecklistIds).ToList(); var employeesParameters = new List<EmployeesWithNewEmailsParameters>(); foreach (var employeeRequest in request.RequestEmployees) { employeesParameters.Add( new EmployeesWithNewEmailsParameters { Employee = _employeeRepository.GetById(employeeRequest.EmployeeId), NewEmail = employeeRequest.NewEmail } ); } var user = _userForAuditingRepository.GetById(request.CurrentUserId); var personalRiskAssessment = _personalRiskAssessmentRepository.GetById(request.PersonalRiskAssessmentId); personalRiskAssessment.SaveChecklistGenerator(request.HasMultipleChecklistRecipients, employeesParameters, checklists, request.Message, user, request.SendCompletedChecklistNotificationEmail, request.CompletionDueDateForChecklists, request.CompletionNotificationEmailAddress); _personalRiskAssessmentRepository.Update(personalRiskAssessment); }