public void Check_for_duplicated_substance_returns_JsonResult_of_matches_equals_zero_if_no_matches()
        {
            // Given 
            var checkForDuplicatedSubstanceRequest = new CheckForDuplicatedSubstanceRequest();

            // When
            var result = target.CheckForDuplicatedSubstance(checkForDuplicatedSubstanceRequest);

            // Then
        }
        public void Check_for_duplicated_substance_performs_search_on_service_to_check()
        {
            // Given 
            var passedSearchHazardousSubstancesRequest = new SearchHazardousSubstancesRequest();
            var checkForDuplicatedSubstanceRequest = new CheckForDuplicatedSubstanceRequest()
                                                     {
                                                         CompanyId = 1234,
                                                         NewSubstanceName = "magic beans"
                                                     };
            hazardousSubstancesService
                .Setup(x => x.Search(It.IsAny<SearchHazardousSubstancesRequest>()))
                .Returns(new List<HazardousSubstanceDto>())
                .Callback<SearchHazardousSubstancesRequest>(y => passedSearchHazardousSubstancesRequest = y);

            // When
            var result = target.CheckForDuplicatedSubstance(checkForDuplicatedSubstanceRequest);

            // Then
            hazardousSubstancesService.Verify(x => x.Search(It.IsAny<SearchHazardousSubstancesRequest>()), Times.Once());
            Assert.That(passedSearchHazardousSubstancesRequest.CompanyId, Is.EqualTo(checkForDuplicatedSubstanceRequest.CompanyId));
            Assert.That(passedSearchHazardousSubstancesRequest.SubstanceNameLike, Is.EqualTo(checkForDuplicatedSubstanceRequest.NewSubstanceName));
        }
        public ActionResult CheckForDuplicatedSubstance(CheckForDuplicatedSubstanceRequest model)
        {
            var searchResults = _hazardousSubstancesService.Search(new SearchHazardousSubstancesRequest()
            {
                CompanyId = model.CompanyId,
                SubstanceNameLike = model.NewSubstanceName
            });

            if (searchResults.Any())
            {
                return PartialView(searchResults);
            }

            return Json(true, JsonRequestBehavior.AllowGet);
        }