public AddEditHazardousSubstanceViewModel GetViewModel() { var suppliers =_suppliersService.GetForCompany(_companyId); var hazardousSubstanceDto = new HazardousSubstanceDto(); if(_hazardousSubstanceId > 0) { hazardousSubstanceDto = _hazardousSubstancesService.GetByIdAndCompanyId(_hazardousSubstanceId, _companyId); } return new AddEditHazardousSubstanceViewModel() { Id = hazardousSubstanceDto.Id, Name = hazardousSubstanceDto.Name, CompanyId = _companyId, Reference = hazardousSubstanceDto.Reference, SdsDate = hazardousSubstanceDto.SdsDate != DateTime.MinValue ? hazardousSubstanceDto.SdsDate: (DateTime?) null, HazardousSubstanceStandard = hazardousSubstanceDto.Standard, SupplierId = hazardousSubstanceDto.Supplier != null? hazardousSubstanceDto.Supplier.Id: 0, SupplierName = hazardousSubstanceDto.Supplier != null ? hazardousSubstanceDto.Supplier.Name: string.Empty, Suppliers = suppliers.Select(AutoCompleteViewModel.ForSupplier).AddDefaultOption(), Pictograms = _pictogramService.GetAll(), RiskPhrases = _riskPhraseService.GetAll(), SafetyPhrases = _safetyPhraseService.GetAll(), SelectedHazardousSubstanceSymbols = hazardousSubstanceDto.Pictograms.Select(p => p.Id).ToList(), SelectedRiskPhrases = hazardousSubstanceDto.RiskPhrases.Select(r => r.Id).ToList(), SelectedSafetyPhrases = hazardousSubstanceDto.HazardousSubstanceSafetyPhrases.Select(r => r.SafetyPhase.Id).ToList(), DetailsOfUse = hazardousSubstanceDto.DetailsOfUse, AssessmentRequired = _hazardousSubstanceId > 0 ? hazardousSubstanceDto.AssessmentRequired: (bool?) null, HasLinkedRiskAssessments = hazardousSubstanceDto.LinkedRiskAsessments.Any(), SafetyPhrasesAdditionalInformation = GetSafetyPhrasesAdditionalInformation(hazardousSubstanceDto) }; }
public void When_get_SubstanceDetailsForRiskAssessment_Then_requested_hazardous_substance_fills_in_view_model() { // Given var hazardousSubstanceDto = new HazardousSubstanceDto() { Name = "a haz sub", Pictograms = new List<PictogramDto>() { new PictogramDto() { Title = "hazard a"}, new PictogramDto() { Title = "hazard b"}, new PictogramDto() { Title = "hazard c"} }, RiskPhrases = new List<RiskPhraseDto>() { new RiskPhraseDto() { ReferenceNumber = "RP_01", Title = "Risk Phrase 1"}, new RiskPhraseDto() { ReferenceNumber = "RP_02", Title = "Risk Phrase 2"}, new RiskPhraseDto() { ReferenceNumber = "RP_03", Title = "Risk Phrase 3"}, new RiskPhraseDto() { ReferenceNumber = "RP_04", Title = "Risk Phrase 4"}, }, HazardousSubstanceSafetyPhrases = new List<HazardousSubstanceSafetyPhraseDto>() { new HazardousSubstanceSafetyPhraseDto() { SafetyPhase = new SafetyPhraseDto() { ReferenceNumber = "SP_01", Title = "Safety Phrase 1"}, AdditionalInformation = "Additional Information 1" }, new HazardousSubstanceSafetyPhraseDto() { SafetyPhase = new SafetyPhraseDto() { ReferenceNumber = "SP_02", Title = "Safety Phrase 2"}, AdditionalInformation = "Additional Information 2" }, new HazardousSubstanceSafetyPhraseDto() { SafetyPhase = new SafetyPhraseDto() { ReferenceNumber = "SP_03", Title = "Safety Phrase 3"} } } }; hazardousSubstancesService .Setup(x => x.GetByIdAndCompanyId(1234, It.IsAny<long>())) .Returns(hazardousSubstanceDto); // When var result = target.SubstanceDetailsForRiskAssessment(1234); var model = result.Model as HazardousSubstanceSummaryViewModel; // Then Assert.That(model.Name, Is.EqualTo(hazardousSubstanceDto.Name)); Assert.That(model.RiskPhrases.Length, Is.EqualTo(4)); Assert.That(model.RiskPhrases.Contains("RP_01 Risk Phrase 1")); Assert.That(model.RiskPhrases.Contains("RP_02 Risk Phrase 2")); Assert.That(model.RiskPhrases.Contains("RP_03 Risk Phrase 3")); Assert.That(model.RiskPhrases.Contains("RP_04 Risk Phrase 4")); Assert.That(model.SafetyPhrases.Length, Is.EqualTo(3)); Assert.That(model.SafetyPhrases.Contains("SP_01 Safety Phrase 1")); Assert.That(model.SafetyPhrases.Contains("SP_02 Safety Phrase 2")); Assert.That(model.SafetyPhrases.Contains("SP_03 Safety Phrase 3")); Assert.That(model.AdditionalInformationRecords.Length, Is.EqualTo(2)); Assert.That(model.AdditionalInformationRecords.Contains("SP_01: Additional Information 1")); Assert.That(model.AdditionalInformationRecords.Contains("SP_02: Additional Information 2")); }
public void When_GetViewModel_Then_should_return_the_correct_viewmodel() { // Given var target = CreateTarget(); var riskAssessment = new HazardousSubstanceRiskAssessmentDto() { CompanyId = _companyId, Id = _riskAssessmentId, HazardousSubstance = new HazardousSubstanceDto { Name = "Test Hazardous Substance 1" } }; _riskAssessmentService .Setup(x => x.GetRiskAssessment(_riskAssessmentId, _companyId)) .Returns(riskAssessment); var hazardousSubstances = new HazardousSubstanceDto[] { new HazardousSubstanceDto(), }; _hazardousSubstanceService .Setup(x => x.GetHazardousSubstancesForSearchTerm("", _companyId, 100)) .Returns(hazardousSubstances); // When var result = target .WithCompanyId(_companyId) .WithRiskAssessmentId(_riskAssessmentId) .GetViewModel(); // Then Assert.That(result, Is.TypeOf<DescriptionViewModel>()); Assert.That(result.CompanyId, Is.EqualTo(_companyId)); Assert.That(result.RiskAssessmentId, Is.EqualTo(_riskAssessmentId)); }
public void When_GetViewModel_Then_should_call_the_correct_methods() { // Given var target = CreateTarget(); var riskAssessment = new HazardousSubstanceRiskAssessmentDto() { CompanyId = _companyId, Id = _riskAssessmentId, HazardousSubstance = new HazardousSubstanceDto { Name = "Test Hazardous Substance 1" } }; _riskAssessmentService .Setup(x => x.GetRiskAssessment(_riskAssessmentId, _companyId)) .Returns(riskAssessment); var hazardousSubstances = new HazardousSubstanceDto[]{ new HazardousSubstanceDto(), }; _hazardousSubstanceService .Setup(x => x.GetHazardousSubstancesForSearchTerm("", _companyId, 100)) .Returns(hazardousSubstances); // When target .WithCompanyId(_companyId) .WithRiskAssessmentId(_riskAssessmentId) .GetViewModel(); // Then _riskAssessmentService.VerifyAll(); }
private static IEnumerable<SafetyPhraseAdditionalInformationViewModel> GetSafetyPhrasesAdditionalInformation(HazardousSubstanceDto hazardousSubstanceDto) { if (hazardousSubstanceDto.HazardousSubstanceSafetyPhrases.Any() == false) { return new List<SafetyPhraseAdditionalInformationViewModel>(); } return hazardousSubstanceDto .HazardousSubstanceSafetyPhrases .Where(x => x.SafetyPhase.RequiresAdditionalInformation) .Select(x => new SafetyPhraseAdditionalInformationViewModel { AdditionalInformation = x.AdditionalInformation, ReferenceNumber = x.SafetyPhase.ReferenceNumber, SafetyPhaseId = x.SafetyPhase.Id }).ToList(); }
public void When_WithNewHazardousSubstanceId_Then_title_is_retrieved_from_service() { // Given var returnedHazSub = new HazardousSubstanceDto() { Name = "haz sub 01" }; var companyId = 1234; var hazardousSubstanceId = 5678; _hazardousSubstanceService .Setup(x => x.GetByIdAndCompanyId(hazardousSubstanceId, companyId)) .Returns(returnedHazSub); // When var result = _target.WithCompanyId(companyId).WithNewHazardousSubstanceId(hazardousSubstanceId).GetViewModel(); // Then _hazardousSubstanceService.Verify(x => x.GetByIdAndCompanyId(hazardousSubstanceId, companyId)); Assert.That(result.Title, Is.EqualTo(returnedHazSub.Name)); }
public static AutoCompleteViewModel ForHazardousSubstance(HazardousSubstanceDto hazardousSubstanceDto) { return new AutoCompleteViewModel(hazardousSubstanceDto.Name, hazardousSubstanceDto.Id.ToString()); }
public void GetViewModel_For_Edit_HazardousSunbstance_Returns_Correct_ViewModel() { // Given _hazardousSubstanceId = 200; var hazardousSubstance = new HazardousSubstanceDto() { Id = 200, Name = "Test Hazard", Reference = "Test Ref", SdsDate = DateTime.Now, Supplier = new SupplierDto() { Id = 1 }, Standard = HazardousSubstanceStandard.European, Pictograms = new List<PictogramDto>() { new PictogramDto() }, RiskPhrases = new List<RiskPhraseDto>() { new RiskPhraseDto() }, HazardousSubstanceSafetyPhrases = new List<HazardousSubstanceSafetyPhraseDto>() { new HazardousSubstanceSafetyPhraseDto() { SafetyPhase = new SafetyPhraseDto() } }, DetailsOfUse = "Test", AssessmentRequired = true }; _hazardousSubstanceService .Setup(x => x.GetByIdAndCompanyId(_hazardousSubstanceId, _companyId)) .Returns(hazardousSubstance); // When var result = _target.WithCompanyId(_companyId).WithHazardousSubstanceId(_hazardousSubstanceId).GetViewModel(); // Then Assert.That(result.CompanyId, Is.EqualTo(_companyId)); Assert.That(result.Pictograms.Count(), Is.EqualTo(_pictograms.Count())); Assert.That(result.RiskPhrases.Count(), Is.EqualTo(_riskPhrases.Count())); Assert.That(result.SafetyPhrases.Count(), Is.EqualTo(_safetyPhrses.Count())); Assert.That(result.Id, Is.EqualTo(hazardousSubstance.Id)); Assert.That(result.Name, Is.EqualTo(hazardousSubstance.Name)); Assert.That(result.Reference, Is.EqualTo(hazardousSubstance.Reference)); Assert.That(result.SdsDate, Is.EqualTo(hazardousSubstance.SdsDate)); Assert.That(result.SupplierId, Is.EqualTo(hazardousSubstance.Supplier.Id)); Assert.That(result.HazardousSubstanceStandard, Is.EqualTo(hazardousSubstance.Standard)); Assert.That(result.SelectedHazardousSubstanceSymbols.Count(), Is.EqualTo(hazardousSubstance.Pictograms.Count)); Assert.That(result.SelectedRiskPhrases.Count(), Is.EqualTo(hazardousSubstance.RiskPhrases.Count)); Assert.That(result.SafetyPhrases.Count(), Is.EqualTo(hazardousSubstance.HazardousSubstanceSafetyPhrases.Count())); Assert.That(result.DetailsOfUse, Is.EqualTo(hazardousSubstance.DetailsOfUse)); Assert.That(result.AssessmentRequired, Is.EqualTo(hazardousSubstance.AssessmentRequired)); }