diff --git a/cms/djangoapps/contentstore/views/component.py b/cms/djangoapps/contentstore/views/component.py index 8953f10908..f8ad9373f7 100644 --- a/cms/djangoapps/contentstore/views/component.py +++ b/cms/djangoapps/contentstore/views/component.py @@ -372,7 +372,7 @@ def get_component_templates(course): if category in ADVANCED_COMPONENT_TYPES and not category in categories: # boilerplates not supported for advanced components try: - component_display_name = get_component_display_name(category) + component_display_name = get_component_display_name(category, default_display_name=category) advanced_component_templates['templates'].append( create_template_dict( component_display_name, diff --git a/cms/djangoapps/contentstore/views/tests/test_item.py b/cms/djangoapps/contentstore/views/tests/test_item.py index 74dba2b9a5..e7d476ca57 100644 --- a/cms/djangoapps/contentstore/views/tests/test_item.py +++ b/cms/djangoapps/contentstore/views/tests/test_item.py @@ -1114,6 +1114,15 @@ class TestComponentTemplates(CourseTestCase): self.assertNotEqual(only_template.get('category'), 'video') self.assertNotEqual(only_template.get('category'), 'openassessment') + def test_advanced_components_without_display_name(self): + """ + Test that advanced components without display names display their category instead. + """ + self.course.advanced_modules.append('graphical_slider_tool') + self.templates = get_component_templates(self.course) + template = self.get_templates_of_type('advanced')[0] + self.assertEqual(template.get('display_name'), 'graphical_slider_tool') + def test_advanced_problems(self): """ Test the handling of advanced problem templates.