public async Task GetAutoCompleteDataReturnsEmptyListIfItemsAreNotInCache() { //Arrange SetupEmptyMockCache(); //Act IEnumerable <AutocompleteViewModel> result = await _redisCache.GetAutoCompleteData(); //Assert Assert.AreEqual(0, result.Count()); }
/// <summary> /// Get school data to use for search autocomplete functionality /// </summary> /// <returns> /// List of autcomplete data to use for search autocomplete functionality /// </returns> public async Task <IEnumerable <AutocompleteViewModel> > Get() { _logger.LogInformation("Executing Get method in AutoCompleteService class."); //Get data if the _schools list is empty if (_schools.Count() == 0) { //Attempt to get data from cache first var cacheData = await _cache.GetAutoCompleteData(); //Get data from database if it is not in cache if (cacheData.Count() == 0) { _logger.LogInformation("Autocomplete data is being retrieved from the database"); var schoolLst = await _result.GetAll(r => r.School); _schools = schoolLst.ConvertToAutocompleteViewModel(); //Save data to cache for future use await _cache.SaveAutoCompleteData(_schools); } else { _schools = cacheData; } } return(_schools); }