Improve course experience tests
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
Test cases for tabs.
|
||||
"""
|
||||
|
||||
import waffle
|
||||
from waffle.testutils import override_flag
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import Http404
|
||||
@@ -781,10 +781,9 @@ class CourseInfoTabTestCase(TabTestCase):
|
||||
tabs = get_course_tab_list(self.request, self.course)
|
||||
self.assertEqual(tabs[0].type, 'course_info')
|
||||
|
||||
@patch('waffle.flag_is_active')
|
||||
def test_default_tab_for_new_course_experience(self, patched_flag_is_active):
|
||||
@override_flag(UNIFIED_COURSE_EXPERIENCE_FLAG, active=True)
|
||||
def test_default_tab_for_new_course_experience(self):
|
||||
# Verify that the unified course experience hides the course info tab
|
||||
patched_flag_is_active.return_value = True
|
||||
tabs = get_course_tab_list(self.request, self.course)
|
||||
self.assertEqual(tabs[0].type, 'courseware')
|
||||
|
||||
|
||||
@@ -23,9 +23,7 @@ from openedx.features.course_experience import UNIFIED_COURSE_EXPERIENCE_FLAG
|
||||
<header class="page-header has-secondary">
|
||||
<div class="page-header-main">
|
||||
<nav aria-label="${_('Course Outline')}" class="sr-is-focusable" tabindex="-1">
|
||||
<h2 class="hd hd-3 page-title">
|
||||
${_("{course_name}").format(org=course.display_org_with_default, course_name=course.display_name_with_default)}
|
||||
</h2>
|
||||
<h2 class="hd hd-3 page-title">${course.display_name_with_default}</h2>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="page-header-secondary">
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
"""
|
||||
Tests for the course home page.
|
||||
"""
|
||||
|
||||
from waffle.testutils import override_flag
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
|
||||
@@ -10,6 +13,8 @@ from xmodule.modulestore import ModuleStoreEnum
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
|
||||
|
||||
from openedx.features.course_experience import UNIFIED_COURSE_EXPERIENCE_FLAG
|
||||
|
||||
TEST_PASSWORD = 'test'
|
||||
|
||||
|
||||
@@ -36,7 +41,7 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
|
||||
# pylint: disable=super-method-not-called
|
||||
with super(TestCourseHomePage, cls).setUpClassAndTestData():
|
||||
with cls.store.default_store(ModuleStoreEnum.Type.split):
|
||||
cls.course = CourseFactory.create()
|
||||
cls.course = CourseFactory.create(org='edX', number='test', display_name='Test Course')
|
||||
with cls.store.bulk_operations(cls.course.id):
|
||||
chapter = ItemFactory.create(category='chapter', parent_location=cls.course.location)
|
||||
section = ItemFactory.create(category='sequential', parent_location=chapter.location)
|
||||
@@ -57,6 +62,15 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
|
||||
super(TestCourseHomePage, self).setUp()
|
||||
self.client.login(username=self.user.username, password=TEST_PASSWORD)
|
||||
|
||||
@override_flag(UNIFIED_COURSE_EXPERIENCE_FLAG, active=True)
|
||||
def test_unified_page(self):
|
||||
"""
|
||||
Verify the rendering of the unified page.
|
||||
"""
|
||||
url = course_home_url(self.course)
|
||||
response = self.client.get(url)
|
||||
self.assertContains(response, '<h2 class="hd hd-3 page-title">Test Course</h2>')
|
||||
|
||||
def test_queries(self):
|
||||
"""
|
||||
Verify that the view's query count doesn't regress.
|
||||
|
||||
@@ -96,14 +96,16 @@ class CourseHomeFragmentView(EdxFragmentView):
|
||||
# Render the course dates as a fragment
|
||||
dates_fragment = CourseDatesFragmentView().render_to_fragment(request, course_id=course_id, **kwargs)
|
||||
|
||||
# Get the handouts
|
||||
# TODO: Use get_course_overview_with_access and blocks api
|
||||
course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True)
|
||||
|
||||
# Get the handouts
|
||||
handouts_html = get_course_info_section(request, request.user, course, 'handouts')
|
||||
|
||||
# Render the course home fragment
|
||||
context = {
|
||||
'csrf': csrf(request)['csrf_token'],
|
||||
'course': course,
|
||||
'course_key': course_key,
|
||||
'course': course,
|
||||
'outline_fragment': outline_fragment,
|
||||
|
||||
Reference in New Issue
Block a user