diff --git a/test/api/unit/libs/content.test.js b/test/api/unit/libs/content.test.js index 36a626151f..3dac94d4af 100644 --- a/test/api/unit/libs/content.test.js +++ b/test/api/unit/libs/content.test.js @@ -34,7 +34,7 @@ describe('contentLib', () => { }); it('generates a hash for a filter', () => { - const hash = contentLib.hashForFilter('backgroundsFlat,gear.flat'); + const hash = contentLib.hashForFilter(['backgroundsFlat', 'gear.flat']); expect(hash).to.equal('-1791877526'); }); @@ -46,7 +46,7 @@ describe('contentLib', () => { it('serves filtered content', () => { const resSpy = generateRes(); - contentLib.serveContent(resSpy, 'en', 'backgroundsFlat,gear.flat', false); + contentLib.serveContent(resSpy, 'en', ['backgroundsFlat', 'gear.flat'], false); expect(resSpy.send).to.have.been.calledOnce; }); @@ -81,7 +81,7 @@ describe('contentLib', () => { }); it('caches filtered requests', async () => { - const filter = 'backgroundsFlat,gear.flat'; + const filter = ['backgroundsFlat', 'gear.flat']; const hash = contentLib.hashForFilter(filter); expect(fs.existsSync(`${contentLib.CONTENT_CACHE_PATH}en${hash}.json`)).to.be.false; contentLib.serveContent(resSpy, 'en', filter, true); @@ -89,7 +89,7 @@ describe('contentLib', () => { }); it('serves filtered cached requests', async () => { - const filter = 'backgroundsFlat,gear.flat'; + const filter = ['backgroundsFlat', 'gear.flat']; const hash = contentLib.hashForFilter(filter); fs.writeFileSync( `${contentLib.CONTENT_CACHE_PATH}en${hash}.json`, diff --git a/website/server/controllers/api-v3/content.js b/website/server/controllers/api-v3/content.js index b547459d2f..c742bed3ff 100644 --- a/website/server/controllers/api-v3/content.js +++ b/website/server/controllers/api-v3/content.js @@ -7,10 +7,10 @@ const IS_PROD = nconf.get('IS_PROD'); const api = {}; const MOBILE_FILTER = ['achievements', 'questSeriesAchievements', 'animalColorAchievements', 'animalSetAchievements', -'stableAchievements', 'mystery', 'bundles', 'loginIncentives', 'pets', 'premiumPets', 'specialPets', 'questPets', -'wackyPets', 'mounts', 'premiumMounts,specialMounts,questMounts', 'events', 'dropEggs', 'questEggs', 'dropHatchingPotions', -'premiumHatchingPotions', 'wackyHatchingPotions', 'backgroundsFlat', 'questsByLevel', 'gear.tree', 'tasksByCategory', -'userDefaults', 'timeTravelStable', 'gearTypes', 'cardTypes']; + 'stableAchievements', 'mystery', 'bundles', 'loginIncentives', 'pets', 'premiumPets', 'specialPets', 'questPets', + 'wackyPets', 'mounts', 'premiumMounts,specialMounts,questMounts', 'events', 'dropEggs', 'questEggs', 'dropHatchingPotions', + 'premiumHatchingPotions', 'wackyHatchingPotions', 'backgroundsFlat', 'questsByLevel', 'gear.tree', 'tasksByCategory', + 'userDefaults', 'timeTravelStable', 'gearTypes', 'cardTypes']; const ANDROID_FILTER = [...MOBILE_FILTER, 'appearances.background']; const IOS_FILTER = [...MOBILE_FILTER, 'backgrounds']; @@ -74,20 +74,20 @@ api.getContent = { language = proposedLang; } - let filter_list = []; - let filter = req.query.filter || ''; + let filterList = []; + const filter = req.query.filter || ''; // apply defaults for mobile clients if (filter === '') { if (req.headers['x-client'] === 'habitica-android') { - filter_list = ANDROID_FILTER; + filterList = ANDROID_FILTER; } else if (req.headers['x-client'] === 'habitica-ios') { - filter_list = IOS_FILTER; + filterList = IOS_FILTER; } } else { - filter_list = filter.split(','); + filterList = filter.split(','); } - serveContent(res, language, filter_list, IS_PROD); + serveContent(res, language, filterList, IS_PROD); }, };