public void AttachPeopleAtRiskToRiskAssessment(AttachPeopleAtRiskToRiskAssessmentRequest request) { _log.Add(request); var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId); var riskAssessment = _fireRiskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId); var peopleAtRisk = _peopleAtRiskRepository.GetByIds(request.PeopleAtRiskIds); riskAssessment.AttachPeopleAtRiskToRiskAssessment(peopleAtRisk, user); _fireRiskAssessmentRepository.SaveOrUpdate(riskAssessment); }
public void Given_valid_request_When_AttachPeopleAtRisk_is_called_Then_should_call_appropiate_methods() { //Given var riskAssessmentService = CreateRiskAssessmentService(); var attachPeopleAtRiskToRiskAssessmentRequest = new AttachPeopleAtRiskToRiskAssessmentRequest() { PeopleAtRiskIds = new List<long> { 1, 2, 3 }, RiskAssessmentId = 2, CompanyId = 1, UserId = Guid.NewGuid() }; var mockRiskAssessment = new Mock<GeneralRiskAssessment>(); _riskAssessmentRepository .Setup(rr => rr.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.RiskAssessmentId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId)) .Returns(mockRiskAssessment.Object); var peopleAtRisks = new List<PeopleAtRisk>() { new PeopleAtRisk(), new PeopleAtRisk(), new PeopleAtRisk() }; _peopleAtRiskRepository .Setup(x => x.GetByIds(attachPeopleAtRiskToRiskAssessmentRequest.PeopleAtRiskIds)) .Returns(peopleAtRisks); _userRepository .Setup(x => x.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.UserId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId)) .Returns(_user); //When riskAssessmentService.AttachPeopleAtRiskToRiskAssessment(attachPeopleAtRiskToRiskAssessmentRequest); //Then _riskAssessmentRepository.Verify(x => x.SaveOrUpdate(mockRiskAssessment.Object)); _userRepository.Verify(x => x.GetByIdAndCompanyId(attachPeopleAtRiskToRiskAssessmentRequest.UserId, attachPeopleAtRiskToRiskAssessmentRequest.CompanyId)); mockRiskAssessment.Verify(x => x.AttachPeopleAtRiskToRiskAssessment(peopleAtRisks, _user)); }