public void Given_valid_request_When_AddControlMeasure_Then_should_call_correct_methods() { //Given var request = new AddControlMeasureRequest() { CompanyId = 200, UserId = Guid.NewGuid(), RiskAssessmentId = 250, ControlMeasure = "Hello Control Measure" }; var mockRiskAssessment = new Mock<BusinessSafe.Domain.Entities.HazardousSubstanceRiskAssessment>(); mockRiskAssessment .Setup( x => x.AddControlMeasure(It.Is<HazardousSubstanceRiskAssessmentControlMeasure>(r => r.ControlMeasure == request.ControlMeasure), It.Is<UserForAuditing>( r=> r.Id == _user.Id))); _repository .Setup(x => x.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId)). Returns(mockRiskAssessment.Object); _repository .Setup(x => x.SaveOrUpdate(mockRiskAssessment.Object)); _repository .Setup(x => x.Flush()); _userRepository .Setup(x => x.GetByIdAndCompanyId(request.UserId, request.CompanyId)) .Returns(_user); //When _target.AddControlMeasureToRiskAssessment(request); //Then _repository.VerifyAll(); _userRepository.VerifyAll(); mockRiskAssessment.Verify(); }
public long AddControlMeasureToRiskAssessmentHazard(AddControlMeasureRequest request) { _log.Add(request); try { var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId); var riskAssessment = _riskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId); var riskAssessmentHazard = riskAssessment.FindRiskAssessmentHazard(request.RiskAssessmentHazardId); var riskAssessmentControlMeasure = MultiHazardRiskAssessmentControlMeasure.Create(request.ControlMeasure, riskAssessmentHazard, user); riskAssessmentHazard.AddControlMeasure(riskAssessmentControlMeasure, user); _riskAssessmentRepository.SaveOrUpdate(riskAssessment); _riskAssessmentRepository.Flush(); return riskAssessmentControlMeasure.Id; } catch (Exception ex) { _log.Add(ex); throw; } }
public long AddControlMeasureToRiskAssessment(AddControlMeasureRequest request) { _log.Add(request); var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId); var riskAssessment = _hazardousSubstanceRiskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId); var riskAssessmentControlMeasure = HazardousSubstanceRiskAssessmentControlMeasure.Create(request.ControlMeasure, riskAssessment, user); riskAssessment.AddControlMeasure(riskAssessmentControlMeasure, user); _hazardousSubstanceRiskAssessmentRepository.SaveOrUpdate(riskAssessment); _hazardousSubstanceRiskAssessmentRepository.Flush(); return riskAssessmentControlMeasure.Id; }