/// <summary> /// Return the list of CuisineType /// </summary> /// <returns>CuisineTypeList</returns> public async Task <IActionResult> GetCuisineType() { BaseResult <List <CuisineTypeViewModel> > cuisineTypeResultFromCache = new BaseResult <List <CuisineTypeViewModel> > { Result = RedisCacheHelper.Instance.Get <List <CuisineTypeViewModel> >(Constants.CacheKeys.CuisineTypeList) }; if (cuisineTypeResultFromCache.Result == null || cuisineTypeResultFromCache.Result.Count == 0) { BaseResult <List <CuisineType> > cuisineTypeResult = await iMealPlan.GetCuisineType().ConfigureAwait(false); if (cuisineTypeResult.IsError && cuisineTypeResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (cuisineTypeResult.Result == null || cuisineTypeResult.Result.Count == 0) { return(NoContent()); //204 } else { var result = MealPlanResponseMapper.MapCuisineType(cuisineTypeResult); RedisCacheHelper.Instance.Set <List <CuisineTypeViewModel> >(Constants.CacheKeys.CuisineTypeList, result.Result); return(Ok(result)); //200 } } return(Ok(cuisineTypeResultFromCache)); //200 }
public async Task TestGetCuisineType_positive_Predicate_sample() { //Arrange var cusine = new CuisineType() { Id = 1, Cusine = "Italian", IsActive = true }; var baseResult = new BaseResult <List <CuisineType> >() { Result = new List <CuisineType>() { cusine } }; var pred = new Func <CuisineType, bool>(x => x.IsActive && !x.IsDeleted); iCuisineTypeConnectionLibrary.Setup(x => x.GetListByPredicate(It.Is <Func <CuisineType, bool> >(y => y.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)); //Act Task <BaseResult <List <CuisineType> > > result = mealPlanRepository.GetCuisineType(); //Assert Assert.IsTrue(result.Result != null); Assert.IsTrue(result.Result is BaseResult <List <CuisineType> >); }