Exemplo n.º 1
0
        /// <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
        }
Exemplo n.º 2
0
        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> >);
        }