diff --git a/cms/djangoapps/contentstore/views/tests/test_header_menu.py b/cms/djangoapps/contentstore/views/tests/test_header_menu.py
new file mode 100644
index 0000000000..c27048452a
--- /dev/null
+++ b/cms/djangoapps/contentstore/views/tests/test_header_menu.py
@@ -0,0 +1,47 @@
+#-*- coding: utf-8 -*-
+
+"""
+Course Header Menu Tests.
+"""
+from django.conf import settings
+from django.test.utils import override_settings
+
+from contentstore.tests.utils import CourseTestCase
+from contentstore.utils import reverse_course_url
+
+FEATURES_WITH_CERTS_ENABLED = settings.FEATURES.copy()
+FEATURES_WITH_CERTS_ENABLED['CERTIFICATES_HTML_VIEW'] = True
+
+
+@override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED)
+class TestHeaderMenu(CourseTestCase):
+ """
+ Unit tests for the course header menu.
+ """
+ def setUp(self):
+ """
+ Set up the for the course header menu tests.
+ """
+ super(TestHeaderMenu, self).setUp()
+
+ def test_header_menu_without_web_certs_enabled(self):
+ """
+ Tests course header menu should not have `Certificates` menu item
+ if course has not web/HTML certificates enabled.
+ """
+ outline_url = reverse_course_url('course_handler', self.course.id)
+ resp = self.client.get(outline_url, HTTP_ACCEPT='text/html')
+ self.assertEqual(resp.status_code, 200)
+ self.assertNotContains(resp, '
')
+
+ def test_header_menu_with_web_certs_enabled(self):
+ """
+ Tests course header menu should have `Certificates` menu item
+ if course has web/HTML certificates enabled.
+ """
+ self.course.cert_html_view_enabled = True
+ self.save_course()
+ outline_url = reverse_course_url('course_handler', self.course.id)
+ resp = self.client.get(outline_url, HTTP_ACCEPT='text/html')
+ self.assertEqual(resp.status_code, 200)
+ self.assertContains(resp, '')
diff --git a/cms/templates/widgets/header.html b/cms/templates/widgets/header.html
index 222b93c549..e4e2a9cf22 100644
--- a/cms/templates/widgets/header.html
+++ b/cms/templates/widgets/header.html
@@ -4,7 +4,6 @@
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from contentstore.context_processors import doc_url
- from student.roles import CourseCreatorRole, CourseInstructorRole, CourseStaffRole
%>
<%page args="online_help_token"/>
@@ -36,12 +35,10 @@
grading_url = reverse('contentstore.views.grading_handler', kwargs={'course_key_string': unicode(course_key)})
advanced_settings_url = reverse('contentstore.views.advanced_settings_handler', kwargs={'course_key_string': unicode(course_key)})
tabs_url = reverse('contentstore.views.tabs_handler', kwargs={'course_key_string': unicode(course_key)})
+ certificates_url = ''
+ if settings.FEATURES.get("CERTIFICATES_HTML_VIEW") and context_course.cert_html_view_enabled:
+ certificates_url = reverse('contentstore.views.certificates.certificates_list_handler', kwargs={'course_key_string': unicode(course_key)})
%>
- % if settings.FEATURES.get("CERTIFICATES_HTML_VIEW") and context_course:
- <%
- certificates_url = reverse('contentstore.views.certificates.certificates_list_handler', kwargs={'course_key_string': unicode(course_key)})
- %>
- % endif