public void Given_valid_request_When_DetachDocuments_is_called_Then_should_call_appropiate_methods() { //Given var riskAssessmentService = CreateRiskAssessmentService(); var detachDocumentsFromRiskAssessmentRequest = new DetachDocumentsFromRiskAssessmentRequest() { DocumentsToDetach = new List<long>() { 1, 2 }, RiskAssessmentId = 2, CompanyId = 1, UserId = Guid.NewGuid() }; var mockRiskAssessment = new Mock<GeneralRiskAssessment>(); _riskAssessmentRepository .Setup(rr => rr.GetByIdAndCompanyId(detachDocumentsFromRiskAssessmentRequest.RiskAssessmentId, detachDocumentsFromRiskAssessmentRequest.CompanyId)) .Returns(mockRiskAssessment.Object); _userRepository .Setup(x => x.GetByIdAndCompanyId(detachDocumentsFromRiskAssessmentRequest.UserId, detachDocumentsFromRiskAssessmentRequest.CompanyId)) .Returns(_user); //When riskAssessmentService.DetachDocumentsToRiskAssessment(detachDocumentsFromRiskAssessmentRequest); //Then _riskAssessmentRepository.Verify(x => x.SaveOrUpdate(mockRiskAssessment.Object)); _userRepository.Verify(x => x.GetByIdAndCompanyId(detachDocumentsFromRiskAssessmentRequest.UserId, detachDocumentsFromRiskAssessmentRequest.CompanyId)); mockRiskAssessment.Verify(x => x.DetachDocumentFromRiskAssessment(It.Is<IEnumerable<long>>(y => y.Count() == detachDocumentsFromRiskAssessmentRequest.DocumentsToDetach.Count), _user), Times.Once()); }
public void DetachDocumentsToRiskAssessment(DetachDocumentsFromRiskAssessmentRequest request) { _log.Add(request); try { var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId); var riskAssessment = _riskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId); riskAssessment.DetachDocumentFromRiskAssessment(request.DocumentsToDetach, user); _riskAssessmentRepository.SaveOrUpdate(riskAssessment); } catch (Exception ex) { _log.Add(ex); throw; } }