public void TestGetCity_positive_Predicate_sample() { //Arrange var CountryId = 1; var city = new City() { Code = "Mum", CountryId = CountryId, IsActive = true, Name = "Mumbai", StateId = 1 }; var baseResult = new BaseResult <List <City> >() { Result = new List <City>() { city } }; var pred = new Func <City, bool>(x => x.IsActive && !x.IsDeleted); iCityLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <City, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)); //Act var result = masterDataRepository.GetCities(); //Assert Assert.IsTrue(result.Result is BaseResult <List <City> >); Assert.IsTrue(result.Result.Result.Any(x => x.CountryId == CountryId)); }
/// <summary> /// Return the List of Cities /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <IActionResult> GetCities(int id) { BaseResult <List <CityViewModel> > cityResult = new BaseResult <List <CityViewModel> >(); if (id < 1) { cityResult.Message = Constants.BadRequestErrorMessage.InvalidCountyRequest; return(BadRequest(cityResult)); } var cacheData = RedisCacheHelper.Instance.Get <List <CityViewModel> >(Constants.CacheKeys.CityList); if (cacheData != null && cacheData.Any()) { cityResult.Result = cacheData; } else { BaseResult <List <City> > cityResultData = await iMasterData.GetCities().ConfigureAwait(false); if (cityResultData.IsError && cityResultData.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (cityResultData.Result == null || cityResultData.Result.Count == 0) { return(NoContent()); //204 } else { // mapping model to viewmodel List <CityViewModel> cityListAll = DbMapperMasterdata.MapAllCity(cityResultData); cityResult.Result = cityListAll; RedisCacheHelper.Instance.Set <List <CityViewModel> >(Constants.CacheKeys.CityList, cityListAll, false); } } cityResult.Result = cityResult.Result.Where(p => p.CountryId == id).ToList(); return(Ok(cityResult)); //200 }