def get(self): """Handles GET requests.""" # TODO(sll): Support index pages for other language codes. summary_dicts_by_category = summary_services.get_library_groups( [feconf.DEFAULT_LANGUAGE_CODE]) recently_published_summary_dicts = ( summary_services.get_recently_published_exploration_summary_dicts( )) top_rated_activity_summary_dicts = ( summary_services.get_top_rated_exploration_summary_dicts( [feconf.DEFAULT_LANGUAGE_CODE])) featured_activity_summary_dicts = ( summary_services.get_featured_activity_summary_dicts( [feconf.DEFAULT_LANGUAGE_CODE])) preferred_language_codes = [feconf.DEFAULT_LANGUAGE_CODE] if self.user_id: user_settings = user_services.get_user_settings(self.user_id) preferred_language_codes = user_settings.preferred_language_codes if recently_published_summary_dicts: summary_dicts_by_category.insert( 0, { 'activity_summary_dicts': recently_published_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_RECENTLY_PUBLISHED, }) if top_rated_activity_summary_dicts: summary_dicts_by_category.insert( 0, { 'activity_summary_dicts': top_rated_activity_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_TOP_RATED_EXPLORATIONS, }) if featured_activity_summary_dicts: summary_dicts_by_category.insert( 0, { 'activity_summary_dicts': featured_activity_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_FEATURED_ACTIVITIES, }) self.values.update({ 'activity_summary_dicts_by_category': (summary_dicts_by_category), 'preferred_language_codes': preferred_language_codes, }) self.render_json(self.values)
def get(self): """Handles GET requests.""" # TODO(sll): Support index pages for other language codes. summary_dicts_by_category = summary_services.get_library_groups([ feconf.DEFAULT_LANGUAGE_CODE]) recently_published_summary_dicts = ( summary_services.get_recently_published_exploration_summary_dicts()) top_rated_activity_summary_dicts = ( summary_services.get_top_rated_exploration_summary_dicts( [feconf.DEFAULT_LANGUAGE_CODE])) featured_activity_summary_dicts = ( summary_services.get_featured_activity_summary_dicts( [feconf.DEFAULT_LANGUAGE_CODE])) preferred_language_codes = [feconf.DEFAULT_LANGUAGE_CODE] if self.user_id: user_settings = user_services.get_user_settings(self.user_id) preferred_language_codes = user_settings.preferred_language_codes if recently_published_summary_dicts: summary_dicts_by_category.insert(0, { 'activity_summary_dicts': recently_published_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_RECENTLY_PUBLISHED, }) if top_rated_activity_summary_dicts: summary_dicts_by_category.insert(0, { 'activity_summary_dicts': top_rated_activity_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_TOP_RATED_EXPLORATIONS, }) if featured_activity_summary_dicts: summary_dicts_by_category.insert(0, { 'activity_summary_dicts': featured_activity_summary_dicts, 'categories': [], 'header': feconf.LIBRARY_CATEGORY_FEATURED_ACTIVITIES, }) self.values.update({ 'activity_summary_dicts_by_category': ( summary_dicts_by_category), 'preferred_language_codes': preferred_language_codes, }) self.render_json(self.values)
def test_for_recently_published_explorations(self): """ Tests for recently published explorations. """ recently_published_exploration_summaries = ( summary_services.get_recently_published_exploration_summary_dicts()) test_summary_1 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': '/images/subjects/Lightbulb.svg', 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_1, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } test_summary_2 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': '/images/subjects/Lightbulb.svg', 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_2, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } test_summary_3 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': '/images/subjects/Lightbulb.svg', 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_3, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } self.assertDictContainsSubset( test_summary_3, recently_published_exploration_summaries[0]) self.assertDictContainsSubset( test_summary_1, recently_published_exploration_summaries[1]) self.assertDictContainsSubset( test_summary_2, recently_published_exploration_summaries[2]) # Test that editing an exploration does not change its # 'recently-published' status. exp_services.update_exploration( self.albert_id, self.EXP_ID_1, [{ 'cmd': 'edit_exploration_property', 'property_name': 'title', 'new_value': 'New title' }], 'Changed title.') recently_published_exploration_summaries = ( summary_services.get_recently_published_exploration_summary_dicts()) self.assertEqual( recently_published_exploration_summaries[1]['title'], 'New title') self.assertDictContainsSubset( test_summary_3, recently_published_exploration_summaries[0])
def test_for_recently_published_explorations(self): """ Tests for recently published explorations. """ recently_published_exploration_summaries = ( summary_services.get_recently_published_exploration_summary_dicts( )) test_summary_1 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': self.get_static_asset_url('/images/subjects/Lightbulb.svg'), 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_1, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } test_summary_2 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': self.get_static_asset_url('/images/subjects/Lightbulb.svg'), 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_2, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } test_summary_3 = { 'status': 'public', 'thumbnail_bg_color': '#a33f40', 'community_owned': False, 'tags': [], 'thumbnail_icon_url': self.get_static_asset_url('/images/subjects/Lightbulb.svg'), 'language_code': feconf.DEFAULT_LANGUAGE_CODE, 'id': self.EXP_ID_3, 'category': u'A category', 'ratings': feconf.get_empty_ratings(), 'title': u'A title', 'num_views': 0, 'objective': u'An objective' } self.assertDictContainsSubset( test_summary_3, recently_published_exploration_summaries[0]) self.assertDictContainsSubset( test_summary_1, recently_published_exploration_summaries[1]) self.assertDictContainsSubset( test_summary_2, recently_published_exploration_summaries[2]) # Test that editing an exploration does not change its # 'recently-published' status. exp_services.update_exploration(self.albert_id, self.EXP_ID_1, [{ 'cmd': 'edit_exploration_property', 'property_name': 'title', 'new_value': 'New title' }], 'Changed title.') recently_published_exploration_summaries = ( summary_services.get_recently_published_exploration_summary_dicts( )) self.assertEqual(recently_published_exploration_summaries[1]['title'], 'New title') self.assertDictContainsSubset( test_summary_3, recently_published_exploration_summaries[0])