public ActionResult Create(CreateRiskAssessmentViewModel viewModel) { if (!ModelState.IsValid) return View("Create", _createRiskAssessmentViewModelFactory.WithCompanyId(viewModel.CompanyId).GetViewModel(viewModel)); long riskAssessmentId; try { riskAssessmentId = _hazardousSubstanceRiskAssessmentService.CreateRiskAssessment(new SaveHazardousSubstanceRiskAssessmentRequest { CompanyId = viewModel.CompanyId, Title = viewModel.Title, Reference = viewModel.Reference, UserId = CurrentUser.UserId, HazardousSubstanceId = viewModel.NewHazardousSubstanceId }); } catch (ValidationException validationException) { ModelState.AddValidationErrors(validationException); return View("Create", _createRiskAssessmentViewModelFactory.WithCompanyId(viewModel.CompanyId).GetViewModel(viewModel)); } if (viewModel.IsCreateDraft) return RedirectToAction("Index", new { companyId = viewModel.CompanyId }); return RedirectToAction("Index", "Summary", new { riskAssessmentId, viewModel.CompanyId }); }
public CreateRiskAssessmentViewModel GetViewModel() { var viewModel = new CreateRiskAssessmentViewModel { NewHazardousSubstanceId = _newHazardousSubstanceId, Title = (_newHazardousSubstanceId > 0) && (_companyId > 0) ? hazardousSubstancesService.GetByIdAndCompanyId(_newHazardousSubstanceId, _companyId).Name : string.Empty, CompanyId = _companyId, HazardousSubstances = GetHazardousSubstances() }; return viewModel; }
public void When_GetViewModel_called_with_CreateRiskAssessmentViewModel_Then_existing_values_are_retained() { // Given var returnedHazardousSubstances = new List<HazardousSubstanceDto>() { new HazardousSubstanceDto() { Id = 1, Name = "hazsub 01"}, new HazardousSubstanceDto() { Id = 2, Name = "hazsub 02" }, new HazardousSubstanceDto() { Id = 3, Name = "hazsub 03" }, new HazardousSubstanceDto() { Id = 4, Name = "hazsub 04" } }; var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { CompanyId = 1234, IsCreateDraft = false, NewHazardousSubstanceId = 5678, Reference = "My Ref", Title = "My Title" }; _hazardousSubstanceService .Setup(x => x.Search(It.IsAny<SearchHazardousSubstancesRequest>())) .Returns(returnedHazardousSubstances); // When var result = _target.WithCompanyId(1234).GetViewModel(createRiskAssessmentViewModel) as CreateRiskAssessmentViewModel; // Then Assert.That(result.CompanyId, Is.EqualTo(createRiskAssessmentViewModel.CompanyId)); Assert.That(result.IsCreateDraft, Is.EqualTo(createRiskAssessmentViewModel.IsCreateDraft)); Assert.That(result.NewHazardousSubstanceId, Is.EqualTo(createRiskAssessmentViewModel.NewHazardousSubstanceId)); Assert.That(result.Reference, Is.EqualTo(createRiskAssessmentViewModel.Reference)); Assert.That(result.Title, Is.EqualTo(createRiskAssessmentViewModel.Title)); }
public void When_GetViewModel_called_with_CreateRiskAssessmentViewModel_Then_hazardous_substances_are_put_in_view_model() { // Given var returnedHazardousSubstances = new List<HazardousSubstanceDto>() { new HazardousSubstanceDto() { Id = 1, Name = "hazsub 01"}, new HazardousSubstanceDto() { Id = 2, Name = "hazsub 02" }, new HazardousSubstanceDto() { Id = 3, Name = "hazsub 03" }, new HazardousSubstanceDto() { Id = 4, Name = "hazsub 04" } }; var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { }; _hazardousSubstanceService .Setup(x => x.Search(It.IsAny<SearchHazardousSubstancesRequest>())) .Returns(returnedHazardousSubstances); // When var result = _target.WithCompanyId(1234).GetViewModel(createRiskAssessmentViewModel) as CreateRiskAssessmentViewModel; // Then Assert.That(result.HazardousSubstances.Count(), Is.EqualTo(5)); for (var i = 1; i < returnedHazardousSubstances.Count; i++) { Assert.That(result.HazardousSubstances.ElementAt(i).label, Is.EqualTo(returnedHazardousSubstances.ElementAt(i - 1).Name)); Assert.That(result.HazardousSubstances.ElementAt(i).value, Is.EqualTo(returnedHazardousSubstances.ElementAt(i - 1).Id.ToString())); } }
public CreateRiskAssessmentViewModel GetViewModel(CreateRiskAssessmentViewModel createRiskAssessmentViewModel) { createRiskAssessmentViewModel.HazardousSubstances = GetHazardousSubstances(); return createRiskAssessmentViewModel; }
public void Given_valid_request_Then_hazardous_substance_assessment_is_saved() { //Given var target = GetTarget(); var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { CompanyId = 1234, Reference = "Ref", Title = "Title" }; //When target.Create(createRiskAssessmentViewModel); //Then _hazardousSubstanceAssessmentService.Verify(r => r.CreateRiskAssessment(It.IsAny<SaveHazardousSubstanceRiskAssessmentRequest>()), Times.Once()); }
public void Given_valid_request_Then_hazardsous_substance_assessment_is_saved_and_redirected_to_correct_view() { //Given var target = GetTarget(); const long expectedRiskAssessmentId = 2020; _hazardousSubstanceAssessmentService.Setup(x => x.CreateRiskAssessment(It.IsAny<SaveHazardousSubstanceRiskAssessmentRequest>())) .Returns(expectedRiskAssessmentId); var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { CompanyId = 1234, Reference = "Ref", Title = "Title" }; //When var result = target.Create(createRiskAssessmentViewModel) as RedirectToRouteResult; //Then Assert.That(result.RouteValues["controller"], Is.EqualTo("Summary")); Assert.That(result.RouteValues["action"], Is.EqualTo("Index")); Assert.That(result.RouteValues["riskAssessmentId"], Is.EqualTo(expectedRiskAssessmentId)); Assert.That(result.RouteValues["CompanyId"], Is.EqualTo(1234)); }
public void Given_invalid_request_Then_viewModel_is_passed_to_factory_to_reset_hazardousSubstances_ddl() { //Given var target = GetTarget(); var passedCreateRiskAssessmentViewModel = new CreateRiskAssessmentViewModel(); var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { CompanyId = 1234, Reference = "Ref", Title = "Title" }; _createViewModelFactory .Setup(x => x.GetViewModel(createRiskAssessmentViewModel)) .Returns(new CreateRiskAssessmentViewModel()) .Callback<CreateRiskAssessmentViewModel>(y => passedCreateRiskAssessmentViewModel = y); //When target.ModelState.AddModelError("an error", "there was an error with model validation"); target.Create(createRiskAssessmentViewModel); //Then Assert.That(createRiskAssessmentViewModel, Is.EqualTo(passedCreateRiskAssessmentViewModel)); }
public void Given_valid_request_Then_selected_hazardous_substance_is_passed_to_service() { //Given var target = GetTarget(); var passedSaveHazardousSubstanceRiskAssessmentRequest = new SaveHazardousSubstanceRiskAssessmentRequest(); var createRiskAssessmentViewModel = new CreateRiskAssessmentViewModel() { CompanyId = 1234, Reference = "Ref", Title = "Title", NewHazardousSubstanceId = 5678 }; _hazardousSubstanceAssessmentService .Setup(r => r.CreateRiskAssessment(It.IsAny<SaveHazardousSubstanceRiskAssessmentRequest>())) .Callback<SaveHazardousSubstanceRiskAssessmentRequest>(y => passedSaveHazardousSubstanceRiskAssessmentRequest = y); //When target.Create(createRiskAssessmentViewModel); //Then Assert.That(passedSaveHazardousSubstanceRiskAssessmentRequest.HazardousSubstanceId, Is.EqualTo(createRiskAssessmentViewModel.NewHazardousSubstanceId)); }