def get(self): """Handles GET requests.""" demo_exploration_ids = list(feconf.DEMO_EXPLORATIONS.keys()) topic_summaries = topic_fetchers.get_all_topic_summaries() topic_summary_dicts = [ summary.to_dict() for summary in topic_summaries] feature_flag_dicts = feature_services.get_all_feature_flag_dicts() config_properties = config_domain.Registry.get_config_property_schemas() # Removes promo-bar related configs as promo-bar is handlded by # release coordinators in /release-coordinator page. del config_properties['promo_bar_enabled'] del config_properties['promo_bar_message'] # Remove blog related configs as they will be handled by 'blog admins' # on blog admin page. del config_properties['max_number_of_tags_assigned_to_blog_post'] del config_properties['list_of_default_tags_for_blog_post'] self.render_json({ 'config_properties': config_properties, 'demo_collections': sorted(feconf.DEMO_COLLECTIONS.items()), 'demo_explorations': sorted(feconf.DEMO_EXPLORATIONS.items()), 'demo_exploration_ids': demo_exploration_ids, 'updatable_roles': role_services.UPDATABLE_ROLES, 'viewable_roles': role_services.VIEWABLE_ROLES, 'human_readable_roles': role_services.HUMAN_READABLE_ROLES, 'role_to_actions': role_services.get_role_actions(), 'topic_summaries': topic_summary_dicts, 'feature_flags': feature_flag_dicts, })
def get(self): # type: () -> None """Handles GET requests.""" config_properties = config_domain.Registry.get_config_property_schemas( ) config_prop_for_blog_admin = { 'list_of_default_tags_for_blog_post': (config_properties['list_of_default_tags_for_blog_post']), 'max_number_of_tags_assigned_to_blog_post': (config_properties['max_number_of_tags_assigned_to_blog_post']) } role_to_action = role_services.get_role_actions() self.render_json({ 'config_properties': config_prop_for_blog_admin, 'role_to_actions': { BLOG_POST_EDITOR: role_to_action[BLOG_POST_EDITOR], BLOG_ADMIN: role_to_action[BLOG_ADMIN] }, 'updatable_roles': { BLOG_POST_EDITOR: (role_services.HUMAN_READABLE_ROLES[BLOG_POST_EDITOR]), BLOG_ADMIN: role_services.HUMAN_READABLE_ROLES[BLOG_ADMIN] } })
def get(self): """Handles GET requests.""" demo_exploration_ids = list(feconf.DEMO_EXPLORATIONS.keys()) topic_summaries = topic_fetchers.get_all_topic_summaries() topic_summary_dicts = [ summary.to_dict() for summary in topic_summaries] feature_flag_dicts = feature_services.get_all_feature_flag_dicts() config_properties = config_domain.Registry.get_config_property_schemas() # Removes promo-bar related configs as promo-bar is handlded by # release coordinators in /release-coordinator page. del config_properties['promo_bar_enabled'] del config_properties['promo_bar_message'] self.render_json({ 'config_properties': config_properties, 'demo_collections': sorted(feconf.DEMO_COLLECTIONS.items()), 'demo_explorations': sorted(feconf.DEMO_EXPLORATIONS.items()), 'demo_exploration_ids': demo_exploration_ids, 'updatable_roles': { role: role_services.HUMAN_READABLE_ROLES[role] for role in role_services.UPDATABLE_ROLES }, 'viewable_roles': { role: role_services.HUMAN_READABLE_ROLES[role] for role in role_services.VIEWABLE_ROLES }, 'topic_summaries': topic_summary_dicts, 'role_to_actions': role_services.get_role_actions(), 'feature_flags': feature_flag_dicts, })
def test_get_role_actions_return_value_in_correct_schema(self): role_actions = role_services.get_role_actions() self.assertTrue(isinstance(role_actions, dict)) for role_name, allotted_actions in role_actions.items(): self.assertTrue(isinstance(role_name, str)) self.assertTrue(isinstance(allotted_actions, list)) self.assertEqual(len(set(allotted_actions)), len(allotted_actions)) for action_name in allotted_actions: self.assertTrue(isinstance(action_name, str))
def test_action_allocated_to_all_allowed_roles(self): role_actions = role_services.get_role_actions() self.assertItemsEqual(list(role_actions), feconf.ALLOWED_USER_ROLES)
def test_action_allocated_to_all_allowed_roles(self) -> None: role_actions = role_services.get_role_actions() self.assertItemsEqual( # type: ignore[no-untyped-call] list(role_actions), feconf.ALLOWED_USER_ROLES)