Commit 72ce55c8 by John Eskew

Convert to SharedModuleStoreTestCase

parent 8b287900
...@@ -11,56 +11,68 @@ from django.test.utils import override_settings ...@@ -11,56 +11,68 @@ from django.test.utils import override_settings
from courseware.tests.helpers import LoginEnrollmentTestCase from courseware.tests.helpers import LoginEnrollmentTestCase
from courseware.tests.factories import GlobalStaffFactory from courseware.tests.factories import GlobalStaffFactory
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from student.tests.factories import UserFactory
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
from xmodule.modulestore.django import modulestore from xmodule.modulestore.django import modulestore
@attr('shard_1') @attr('shard_1')
class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase): class TestNavigation(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
""" """
Check that navigation state is saved properly. Check that navigation state is saved properly.
""" """
STUDENT_INFO = [('view@test.com', 'foo'), ('view2@test.com', 'foo')] STUDENT_INFO = [('view@test.com', 'foo'), ('view2@test.com', 'foo')]
def setUp(self): @classmethod
super(TestNavigation, self).setUp() def setUpClass(cls):
# pylint: disable=super-method-not-called
self.test_course = CourseFactory.create() with super(TestNavigation, cls).setUpClassAndTestData():
self.course = CourseFactory.create() cls.test_course = CourseFactory.create()
self.chapter0 = ItemFactory.create(parent=self.course, cls.test_course_proctored = CourseFactory.create()
display_name='Overview') cls.course = CourseFactory.create()
self.chapter9 = ItemFactory.create(parent=self.course,
display_name='factory_chapter') @classmethod
self.section0 = ItemFactory.create(parent=self.chapter0, def setUpTestData(cls):
display_name='Welcome') cls.chapter0 = ItemFactory.create(parent=cls.course,
self.section9 = ItemFactory.create(parent=self.chapter9, display_name='Overview')
display_name='factory_section') cls.chapter9 = ItemFactory.create(parent=cls.course,
self.unit0 = ItemFactory.create(parent=self.section0, display_name='factory_chapter')
display_name='New Unit') cls.section0 = ItemFactory.create(parent=cls.chapter0,
display_name='Welcome')
self.chapterchrome = ItemFactory.create(parent=self.course, cls.section9 = ItemFactory.create(parent=cls.chapter9,
display_name='Chrome') display_name='factory_section')
self.chromelesssection = ItemFactory.create(parent=self.chapterchrome, cls.unit0 = ItemFactory.create(parent=cls.section0,
display_name='chromeless', display_name='New Unit')
chrome='none')
self.accordionsection = ItemFactory.create(parent=self.chapterchrome, cls.chapterchrome = ItemFactory.create(parent=cls.course,
display_name='accordion', display_name='Chrome')
chrome='accordion') cls.chromelesssection = ItemFactory.create(parent=cls.chapterchrome,
self.tabssection = ItemFactory.create(parent=self.chapterchrome, display_name='chromeless',
display_name='tabs', chrome='none')
chrome='tabs') cls.accordionsection = ItemFactory.create(parent=cls.chapterchrome,
self.defaultchromesection = ItemFactory.create( display_name='accordion',
parent=self.chapterchrome, chrome='accordion')
cls.tabssection = ItemFactory.create(parent=cls.chapterchrome,
display_name='tabs',
chrome='tabs')
cls.defaultchromesection = ItemFactory.create(
parent=cls.chapterchrome,
display_name='defaultchrome', display_name='defaultchrome',
) )
self.fullchromesection = ItemFactory.create(parent=self.chapterchrome, cls.fullchromesection = ItemFactory.create(parent=cls.chapterchrome,
display_name='fullchrome', display_name='fullchrome',
chrome='accordion,tabs') chrome='accordion,tabs')
self.tabtest = ItemFactory.create(parent=self.chapterchrome, cls.tabtest = ItemFactory.create(parent=cls.chapterchrome,
display_name='progress_tab', display_name='progress_tab',
default_tab='progress') default_tab='progress')
cls.staff_user = GlobalStaffFactory()
cls.user = UserFactory()
def setUp(self):
super(TestNavigation, self).setUp()
# Create student accounts and activate them. # Create student accounts and activate them.
for i in range(len(self.STUDENT_INFO)): for i in range(len(self.STUDENT_INFO)):
...@@ -69,8 +81,6 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -69,8 +81,6 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase):
self.create_account(username, email, password) self.create_account(username, email, password)
self.activate_user(email) self.activate_user(email)
self.staff_user = GlobalStaffFactory()
def assertTabActive(self, tabname, response): def assertTabActive(self, tabname, response):
''' Check if the progress tab is active in the tab set ''' ''' Check if the progress tab is active in the tab set '''
for line in response.content.split('\n'): for line in response.content.split('\n'):
...@@ -278,9 +288,9 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -278,9 +288,9 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase):
email, password = self.STUDENT_INFO[0] email, password = self.STUDENT_INFO[0]
self.login(email, password) self.login(email, password)
self.enroll(self.test_course, True) self.enroll(self.test_course_proctored, True)
test_course_id = self.test_course.id.to_deprecated_string() test_course_id = self.test_course_proctored.id.to_deprecated_string()
with patch.dict(settings.FEATURES, {'ENABLE_SPECIAL_EXAMS': False}): with patch.dict(settings.FEATURES, {'ENABLE_SPECIAL_EXAMS': False}):
url = reverse( url = reverse(
...@@ -302,10 +312,10 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -302,10 +312,10 @@ class TestNavigation(ModuleStoreTestCase, LoginEnrollmentTestCase):
# now set up a course which is proctored enabled # now set up a course which is proctored enabled
self.test_course.enable_proctored_exams = True self.test_course_proctored.enable_proctored_exams = True
self.test_course.save() self.test_course_proctored.save()
modulestore().update_item(self.test_course, self.user.id) modulestore().update_item(self.test_course_proctored, self.user.id)
resp = self.client.get(url) resp = self.client.get(url)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment