Commit 56706d07 by David Ormsbee

Merge pull request #9429 from edx/ormsbee/test_recommender_speedup

Switch TestRecommender to use SharedModuleStoreTestCase
parents 3acd3bda 3d1ce451
...@@ -12,7 +12,7 @@ from nose.plugins.attrib import attr ...@@ -12,7 +12,7 @@ from nose.plugins.attrib import attr
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from courseware.tests.helpers import LoginEnrollmentTestCase from courseware.tests.helpers import LoginEnrollmentTestCase
from courseware.tests.factories import GlobalStaffFactory from courseware.tests.factories import GlobalStaffFactory
...@@ -20,7 +20,7 @@ from courseware.tests.factories import GlobalStaffFactory ...@@ -20,7 +20,7 @@ from courseware.tests.factories import GlobalStaffFactory
from lms.djangoapps.lms_xblock.runtime import quote_slashes from lms.djangoapps.lms_xblock.runtime import quote_slashes
class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase): class TestRecommender(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
""" """
Check that Recommender state is saved properly Check that Recommender state is saved properly
""" """
...@@ -30,42 +30,43 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -30,42 +30,43 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase):
] ]
XBLOCK_NAMES = ['recommender', 'recommender_second'] XBLOCK_NAMES = ['recommender', 'recommender_second']
def setUp(self): @classmethod
super(TestRecommender, self).setUp() def setUpClass(cls):
super(TestRecommender, cls).setUpClass()
self.course = CourseFactory.create( cls.course = CourseFactory.create(
display_name='Recommender_Test_Course' display_name='Recommender_Test_Course'
) )
self.chapter = ItemFactory.create( with cls.store.bulk_operations(cls.course.id, emit_signals=False):
parent=self.course, display_name='Overview' cls.chapter = ItemFactory.create(
) parent=cls.course, display_name='Overview'
self.section = ItemFactory.create( )
parent=self.chapter, display_name='Welcome' cls.section = ItemFactory.create(
) parent=cls.chapter, display_name='Welcome'
self.unit = ItemFactory.create( )
parent=self.section, display_name='New Unit' cls.unit = ItemFactory.create(
) parent=cls.section, display_name='New Unit'
self.xblock = ItemFactory.create( )
parent=self.unit, cls.xblock = ItemFactory.create(
category='recommender', parent=cls.unit,
display_name='recommender' category='recommender',
) display_name='recommender'
self.xblock2 = ItemFactory.create( )
parent=self.unit, cls.xblock2 = ItemFactory.create(
category='recommender', parent=cls.unit,
display_name='recommender_second' category='recommender',
) display_name='recommender_second'
)
self.course_url = reverse( cls.course_url = reverse(
'courseware_section', 'courseware_section',
kwargs={ kwargs={
'course_id': self.course.id.to_deprecated_string(), 'course_id': cls.course.id.to_deprecated_string(),
'chapter': 'Overview', 'chapter': 'Overview',
'section': 'Welcome', 'section': 'Welcome',
} }
) )
self.resource_urls = [ cls.resource_urls = [
( (
"https://courses.edx.org/courses/MITx/3.091X/" "https://courses.edx.org/courses/MITx/3.091X/"
"2013_Fall/courseware/SP13_Week_4/" "2013_Fall/courseware/SP13_Week_4/"
...@@ -77,10 +78,10 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -77,10 +78,10 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase):
) )
] ]
self.test_recommendations = { cls.test_recommendations = {
self.resource_urls[0]: { cls.resource_urls[0]: {
"title": "Covalent bonding and periodic trends", "title": "Covalent bonding and periodic trends",
"url": self.resource_urls[0], "url": cls.resource_urls[0],
"description": ( "description": (
"http://people.csail.mit.edu/swli/edx/" "http://people.csail.mit.edu/swli/edx/"
"recommendation/img/videopage1.png" "recommendation/img/videopage1.png"
...@@ -90,9 +91,9 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -90,9 +91,9 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase):
"and periodic trends" "and periodic trends"
) )
}, },
self.resource_urls[1]: { cls.resource_urls[1]: {
"title": "Polar covalent bonds and electronegativity", "title": "Polar covalent bonds and electronegativity",
"url": self.resource_urls[1], "url": cls.resource_urls[1],
"description": ( "description": (
"http://people.csail.mit.edu/swli/edx/" "http://people.csail.mit.edu/swli/edx/"
"recommendation/img/videopage2.png" "recommendation/img/videopage2.png"
...@@ -104,6 +105,8 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase): ...@@ -104,6 +105,8 @@ class TestRecommender(ModuleStoreTestCase, LoginEnrollmentTestCase):
} }
} }
def setUp(self):
super(TestRecommender, self).setUp()
for idx, student in enumerate(self.STUDENTS): for idx, student in enumerate(self.STUDENTS):
username = "u{}".format(idx) username = "u{}".format(idx)
self.create_account(username, student['email'], student['password']) self.create_account(username, student['email'], student['password'])
......
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