public void AdvancedSearchAds_SearchThroughMotorBoatEngineAds_CallSearchRepoOnMotorBoatEngineAds() { // Given Category cat = new Category { Id = 1, LabelUrlPart = "cat-url-label", Label = "Label", Type = AdTypeEnum.MotorBoatEngineAd }; AdvancedAdSearchModel model = new AdvancedAdSearchModel() { CategorySelectedId = 1, SearchString = "moteur", MinHp = 12, MaxHp = 38, SelectedMotorTypeId = 2 }; IList <SearchAdCache> searchResult = new List <SearchAdCache>(); searchResult.Add(new SearchAdCache { Title = "moteur", City = new City() { Label = "the city" }, Category = cat }); var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(r => r.Get <Category>(cat.Id)).Returns(cat); var searchRepoMock = new Moq.Mock <ISearchRepository>(); searchRepoMock.Setup(r => r.AdvancedSearchAds <MotorBoatEngineAd>( It.Is <AdSearchParameters>(p => p.AndSearchStrings[0].Equals("moteur") && p.MinHp == 12 && p.MaxHp == 38 && p.MotorEngineTypeId == 2))).Returns(searchResult); SearchServices service = new SearchServices(repoMock.Object, null, searchRepoMock.Object, null, null, null); // When AdSearchResultModel result = service.AdvancedSearchAds(model); // Then Assert.AreEqual(1, result.SearchResultTotalCount); }
public void AdvancedSearchAds_SearchThroughSailingBoatAds_CallSearchRepoOnSailingBoatAds() { // Given Category cat = new Category { Id = 1, LabelUrlPart = "cat-url-label", Label = "Label", Type = AdTypeEnum.SailingBoatAd }; AdvancedAdSearchModel model = new AdvancedAdSearchModel() { CategorySelectedId = 1, SearchString = "voilier", AgeBracketSelectedId = 2, MinLength = 0, MaxLength = 13, SelectedSailingBoatTypeId = 6, SelectedHullTypeId = 2 }; IList <SearchAdCache> searchResult = new List <SearchAdCache>(); searchResult.Add(new SearchAdCache { Title = "voilier", City = new City() { Label = "the city" }, Category = cat }); IDictionary <int, BracketItemReference> ageBr = new Dictionary <int, BracketItemReference>(); ageBr.Add(2, new BracketItemReference { LowValue = 0, HighValue = 11 }); var refMock = new Moq.Mock <IReferenceServices>(); refMock.Setup(s => s.GetAllAgeBrackets()).Returns(ageBr); var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(r => r.Get <Category>(cat.Id)).Returns(cat); var helperMock = new Moq.Mock <IHelperService>(); helperMock.Setup(r => r.GetCurrentDateTime()).Returns(new DateTime(2013, 01, 01)); var searchRepoMock = new Moq.Mock <ISearchRepository>(); searchRepoMock.Setup(r => r.AdvancedSearchAds <SailingBoatAd>( It.Is <AdSearchParameters>(p => p.AndSearchStrings[0].Equals("voilier") && p.MinLength == 0.0 && p.MaxLength == 13.0 && p.SailingBoatTypeId == 6 && p.HullTypeId == 2 && p.MinYear == 2002 && p.MaxYear == 2013))).Returns(searchResult); SearchServices service = new SearchServices(repoMock.Object, null, searchRepoMock.Object, helperMock.Object, refMock.Object, null); // When AdSearchResultModel result = service.AdvancedSearchAds(model); // Then Assert.AreEqual(1, result.SearchResultTotalCount); }
public void AdvancedSearchAds_SearchThroughRealEstateAds_CallSearchRepoOnRealEstateAds() { // Given Category cat = new Category { Id = 1, LabelUrlPart = "cat-url-label", Label = "Label", Type = AdTypeEnum.RealEstateAd }; AdvancedAdSearchModel model = new AdvancedAdSearchModel() { CategorySelectedId = 1, SearchString = "appart", NbRoomsBracketSelectedId = 2, SelectedDistrictId = 71, SelectedRealEstateTypeId = 2, MinPrice = 0, MaxPrice = 100000, SurfaceAreaBracketSelectedId = 3, IsFurnished = true }; IList <SearchAdCache> searchResult = new List <SearchAdCache>(); searchResult.Add(new SearchAdCache { Title = "appart", City = new City() { Label = "the city" }, Category = cat }); IDictionary <int, BracketItemReference> nbRoomsBr = new Dictionary <int, BracketItemReference>(); nbRoomsBr.Add(2, new BracketItemReference { LowValue = 2, HighValue = 3 }); IDictionary <int, BracketItemReference> surfBr = new Dictionary <int, BracketItemReference>(); surfBr.Add(3, new BracketItemReference { LowValue = 45, HighValue = 70 }); var refMock = new Moq.Mock <IReferenceServices>(); refMock.Setup(s => s.GetAllRealEstateNbRoomsBrackets()).Returns(nbRoomsBr); refMock.Setup(s => s.GetAllSurfaceAreaBrackets()).Returns(surfBr); var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(r => r.Get <Category>(cat.Id)).Returns(cat); var searchRepoMock = new Moq.Mock <ISearchRepository>(); searchRepoMock.Setup(r => r.AdvancedSearchAds <RealEstateAd>( It.Is <AdSearchParameters>(p => p.AndSearchStrings[0].Equals("appart") && p.MinNbRooms == 2 && p.MaxNbRooms == 3 && p.MinPrice == 0d && p.MaxPrice == 100000d && p.RealEstateTypeId == 2 && p.MinSurfaceArea == 45 && p.MaxSurfaceArea == 70 && p.IsFurnished.Value && p.DistrictId == 71))).Returns(searchResult); SearchServices service = new SearchServices(repoMock.Object, null, searchRepoMock.Object, null, refMock.Object, null); // When AdSearchResultModel result = service.AdvancedSearchAds(model); // Then Assert.AreEqual(1, result.SearchResultTotalCount); }
public void AdvancedSearchAds_SearchThroughOtherVehicleAds_CallSearchRepoOnOtherVehicleAds() { // Given Category cat = new Category { Id = 1, LabelUrlPart = "cat-url-label", Label = "Label", Type = AdTypeEnum.OtherVehiculeAd }; AdvancedAdSearchModel model = new AdvancedAdSearchModel(); model.CategorySelectedId = 1; model.SearchString = "toto"; model.CitySelectedId = 12; model.AgeBracketSelectedId = 1; model.KmBracketSelectedId = 1; model.FuelSelectedId = 89; IList <SearchAdCache> searchResult = new List <SearchAdCache>(); searchResult.Add(new SearchAdCache { Title = "car", City = new City() { Label = "the city" }, Category = cat }); var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(r => r.Get <Category>(cat.Id)).Returns(cat); var helperMock = new Moq.Mock <IHelperService>(); helperMock.Setup(r => r.GetCurrentDateTime()).Returns(new DateTime(2013, 01, 01)); IDictionary <int, BracketItemReference> ageRef = new Dictionary <int, BracketItemReference>(); ageRef.Add(1, new BracketItemReference { LowValue = 0, HighValue = 3 }); IDictionary <int, BracketItemReference> kmRef = new Dictionary <int, BracketItemReference>(); kmRef.Add(1, new BracketItemReference { LowValue = 50, HighValue = 100 }); var refMock = new Moq.Mock <IReferenceServices>(); refMock.Setup(s => s.GetAllAgeBrackets()).Returns(ageRef); refMock.Setup(s => s.GetAllKmBrackets()).Returns(kmRef); var searchRepoMock = new Moq.Mock <ISearchRepository>(); searchRepoMock.Setup(r => r.AdvancedSearchAds <OtherVehicleAd>( It.Is <AdSearchParameters>(p => p.AndSearchStrings[0].Equals("toto") && p.CityId == 12 && p.CategoryIds[0] == 1 && p.MinKm == 50 && p.MaxKm == 100 && p.MinYear == 2010 && p.MaxYear == 2013 && p.FueldId == 89))).Returns(searchResult); SearchServices service = new SearchServices(repoMock.Object, null, searchRepoMock.Object, helperMock.Object, refMock.Object, null); // When AdSearchResultModel result = service.AdvancedSearchAds(model); // Then Assert.AreEqual(1, result.SearchResultTotalCount); }