Move more tests to use bulk_operations.
This commit is contained in:
@@ -242,44 +242,45 @@ class ViewsTestCase(ModuleStoreTestCase):
|
||||
def setUp(self):
|
||||
super(ViewsTestCase, self).setUp()
|
||||
self.course = CourseFactory.create(display_name=u'teꜱᴛ course', run="Testing_course")
|
||||
self.chapter = ItemFactory.create(
|
||||
category='chapter',
|
||||
parent_location=self.course.location,
|
||||
display_name="Chapter 1",
|
||||
)
|
||||
self.section = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=self.chapter.location,
|
||||
due=datetime(2013, 9, 18, 11, 30, 00),
|
||||
display_name='Sequential 1',
|
||||
format='Homework'
|
||||
)
|
||||
self.vertical = ItemFactory.create(
|
||||
category='vertical',
|
||||
parent_location=self.section.location,
|
||||
display_name='Vertical 1',
|
||||
)
|
||||
self.problem = ItemFactory.create(
|
||||
category='problem',
|
||||
parent_location=self.vertical.location,
|
||||
display_name='Problem 1',
|
||||
)
|
||||
with self.store.bulk_operations(self.course.id):
|
||||
self.chapter = ItemFactory.create(
|
||||
category='chapter',
|
||||
parent_location=self.course.location,
|
||||
display_name="Chapter 1",
|
||||
)
|
||||
self.section = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=self.chapter.location,
|
||||
due=datetime(2013, 9, 18, 11, 30, 00),
|
||||
display_name='Sequential 1',
|
||||
format='Homework'
|
||||
)
|
||||
self.vertical = ItemFactory.create(
|
||||
category='vertical',
|
||||
parent_location=self.section.location,
|
||||
display_name='Vertical 1',
|
||||
)
|
||||
self.problem = ItemFactory.create(
|
||||
category='problem',
|
||||
parent_location=self.vertical.location,
|
||||
display_name='Problem 1',
|
||||
)
|
||||
|
||||
self.section2 = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=self.chapter.location,
|
||||
display_name='Sequential 2',
|
||||
)
|
||||
self.vertical2 = ItemFactory.create(
|
||||
category='vertical',
|
||||
parent_location=self.section2.location,
|
||||
display_name='Vertical 2',
|
||||
)
|
||||
self.problem2 = ItemFactory.create(
|
||||
category='problem',
|
||||
parent_location=self.vertical2.location,
|
||||
display_name='Problem 2',
|
||||
)
|
||||
self.section2 = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=self.chapter.location,
|
||||
display_name='Sequential 2',
|
||||
)
|
||||
self.vertical2 = ItemFactory.create(
|
||||
category='vertical',
|
||||
parent_location=self.section2.location,
|
||||
display_name='Vertical 2',
|
||||
)
|
||||
self.problem2 = ItemFactory.create(
|
||||
category='problem',
|
||||
parent_location=self.vertical2.location,
|
||||
display_name='Problem 2',
|
||||
)
|
||||
|
||||
self.course_key = self.course.id
|
||||
self.password = '123456'
|
||||
@@ -989,15 +990,16 @@ class BaseDueDateTests(ModuleStoreTestCase):
|
||||
:param course_kwargs: All kwargs are passed to through to the :class:`CourseFactory`
|
||||
"""
|
||||
course = CourseFactory.create(**course_kwargs)
|
||||
chapter = ItemFactory.create(category='chapter', parent_location=course.location)
|
||||
section = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=chapter.location,
|
||||
due=datetime(2013, 9, 18, 11, 30, 00),
|
||||
format='homework'
|
||||
)
|
||||
vertical = ItemFactory.create(category='vertical', parent_location=section.location)
|
||||
ItemFactory.create(category='problem', parent_location=vertical.location)
|
||||
with self.store.bulk_operations(course.id):
|
||||
chapter = ItemFactory.create(category='chapter', parent_location=course.location)
|
||||
section = ItemFactory.create(
|
||||
category='sequential',
|
||||
parent_location=chapter.location,
|
||||
due=datetime(2013, 9, 18, 11, 30, 00),
|
||||
format='homework'
|
||||
)
|
||||
vertical = ItemFactory.create(category='vertical', parent_location=section.location)
|
||||
ItemFactory.create(category='problem', parent_location=vertical.location)
|
||||
|
||||
course = modulestore().get_course(course.id)
|
||||
self.assertIsNotNone(course.get_children()[0].get_children()[0].due)
|
||||
@@ -1149,19 +1151,18 @@ class ProgressPageTests(ModuleStoreTestCase):
|
||||
|
||||
def setup_course(self, **options):
|
||||
"""Create the test course."""
|
||||
course = CourseFactory.create(
|
||||
self.course = CourseFactory.create(
|
||||
start=datetime(2013, 9, 16, 7, 17, 28),
|
||||
grade_cutoffs={u'çü†øƒƒ': 0.75, 'Pass': 0.5},
|
||||
**options
|
||||
)
|
||||
with self.store.bulk_operations(self.course.id):
|
||||
self.chapter = ItemFactory.create(category='chapter', parent_location=self.course.location)
|
||||
self.section = ItemFactory.create(category='sequential', parent_location=self.chapter.location)
|
||||
self.vertical = ItemFactory.create(category='vertical', parent_location=self.section.location)
|
||||
|
||||
self.course = modulestore().get_course(course.id)
|
||||
CourseEnrollmentFactory(user=self.user, course_id=self.course.id, mode=CourseMode.HONOR)
|
||||
|
||||
self.chapter = ItemFactory.create(category='chapter', parent_location=self.course.location)
|
||||
self.section = ItemFactory.create(category='sequential', parent_location=self.chapter.location)
|
||||
self.vertical = ItemFactory.create(category='vertical', parent_location=self.section.location)
|
||||
|
||||
def _get_progress_page(self, expected_status_code=200):
|
||||
"""
|
||||
Gets the progress page for the user in the course.
|
||||
@@ -1898,10 +1899,11 @@ class TestIndexView(ModuleStoreTestCase):
|
||||
user = UserFactory()
|
||||
|
||||
course = CourseFactory.create()
|
||||
chapter = ItemFactory.create(parent=course, category='chapter')
|
||||
section = ItemFactory.create(parent=chapter, category='sequential', display_name="Sequence")
|
||||
vertical = ItemFactory.create(parent=section, category='vertical', display_name="Vertical")
|
||||
ItemFactory.create(parent=vertical, category='id_checker', display_name="ID Checker")
|
||||
with self.store.bulk_operations(course.id):
|
||||
chapter = ItemFactory.create(parent=course, category='chapter')
|
||||
section = ItemFactory.create(parent=chapter, category='sequential', display_name="Sequence")
|
||||
vertical = ItemFactory.create(parent=section, category='vertical', display_name="Vertical")
|
||||
ItemFactory.create(parent=vertical, category='id_checker', display_name="ID Checker")
|
||||
|
||||
CourseEnrollmentFactory(user=user, course_id=course.id)
|
||||
|
||||
@@ -1936,11 +1938,12 @@ class TestIndexViewWithVerticalPositions(ModuleStoreTestCase):
|
||||
|
||||
# create course with 3 positions
|
||||
self.course = CourseFactory.create()
|
||||
self.chapter = ItemFactory.create(parent=self.course, category='chapter')
|
||||
self.section = ItemFactory.create(parent=self.chapter, category='sequential', display_name="Sequence")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical1")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical2")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical3")
|
||||
with self.store.bulk_operations(self.course.id):
|
||||
self.chapter = ItemFactory.create(parent=self.course, category='chapter')
|
||||
self.section = ItemFactory.create(parent=self.chapter, category='sequential', display_name="Sequence")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical1")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical2")
|
||||
ItemFactory.create(parent=self.section, category='vertical', display_name="Vertical3")
|
||||
|
||||
self.client.login(username=self.user, password='test')
|
||||
CourseEnrollmentFactory(user=self.user, course_id=self.course.id)
|
||||
@@ -1995,14 +1998,20 @@ class TestIndexViewWithGating(ModuleStoreTestCase, MilestonesTestCaseMixin):
|
||||
|
||||
self.user = UserFactory()
|
||||
self.course = CourseFactory.create()
|
||||
self.course.enable_subsection_gating = True
|
||||
self.course.save()
|
||||
self.store.update_item(self.course, 0)
|
||||
self.chapter = ItemFactory.create(parent=self.course, category="chapter", display_name="Chapter")
|
||||
self.open_seq = ItemFactory.create(parent=self.chapter, category='sequential', display_name="Open Sequential")
|
||||
ItemFactory.create(parent=self.open_seq, category='problem', display_name="Problem 1")
|
||||
self.gated_seq = ItemFactory.create(parent=self.chapter, category='sequential', display_name="Gated Sequential")
|
||||
ItemFactory.create(parent=self.gated_seq, category='problem', display_name="Problem 2")
|
||||
with self.store.bulk_operations(self.course.id):
|
||||
self.course.enable_subsection_gating = True
|
||||
self.course.save()
|
||||
self.store.update_item(self.course, 0)
|
||||
self.chapter = ItemFactory.create(parent=self.course, category="chapter", display_name="Chapter")
|
||||
self.open_seq = ItemFactory.create(
|
||||
parent=self.chapter, category='sequential', display_name="Open Sequential"
|
||||
)
|
||||
ItemFactory.create(parent=self.open_seq, category='problem', display_name="Problem 1")
|
||||
self.gated_seq = ItemFactory.create(
|
||||
parent=self.chapter, category='sequential', display_name="Gated Sequential"
|
||||
)
|
||||
ItemFactory.create(parent=self.gated_seq, category='problem', display_name="Problem 2")
|
||||
|
||||
gating_api.add_prerequisite(self.course.id, self.open_seq.location)
|
||||
gating_api.set_required_content(self.course.id, self.gated_seq.location, self.open_seq.location, 100)
|
||||
|
||||
|
||||
@@ -148,20 +148,21 @@ class TestWeightedProblems(SharedModuleStoreTestCase):
|
||||
def setUpClass(cls):
|
||||
super(TestWeightedProblems, cls).setUpClass()
|
||||
cls.course = CourseFactory.create()
|
||||
cls.chapter = ItemFactory.create(parent=cls.course, category="chapter", display_name="chapter")
|
||||
cls.sequential = ItemFactory.create(parent=cls.chapter, category="sequential", display_name="sequential")
|
||||
cls.vertical = ItemFactory.create(parent=cls.sequential, category="vertical", display_name="vertical1")
|
||||
problem_xml = cls._create_problem_xml()
|
||||
cls.problems = []
|
||||
for i in range(2):
|
||||
cls.problems.append(
|
||||
ItemFactory.create(
|
||||
parent=cls.vertical,
|
||||
category="problem",
|
||||
display_name="problem_{}".format(i),
|
||||
data=problem_xml,
|
||||
with cls.store.bulk_operations(cls.course.id):
|
||||
cls.chapter = ItemFactory.create(parent=cls.course, category="chapter", display_name="chapter")
|
||||
cls.sequential = ItemFactory.create(parent=cls.chapter, category="sequential", display_name="sequential")
|
||||
cls.vertical = ItemFactory.create(parent=cls.sequential, category="vertical", display_name="vertical1")
|
||||
problem_xml = cls._create_problem_xml()
|
||||
cls.problems = []
|
||||
for i in range(2):
|
||||
cls.problems.append(
|
||||
ItemFactory.create(
|
||||
parent=cls.vertical,
|
||||
category="problem",
|
||||
display_name="problem_{}".format(i),
|
||||
data=problem_xml,
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
def setUp(self):
|
||||
super(TestWeightedProblems, self).setUp()
|
||||
@@ -261,20 +262,21 @@ class TestScoreForModule(SharedModuleStoreTestCase):
|
||||
def setUpClass(cls):
|
||||
super(TestScoreForModule, cls).setUpClass()
|
||||
cls.course = CourseFactory.create()
|
||||
cls.a = ItemFactory.create(parent=cls.course, category="chapter", display_name="a")
|
||||
cls.b = ItemFactory.create(parent=cls.a, category="sequential", display_name="b")
|
||||
cls.c = ItemFactory.create(parent=cls.a, category="sequential", display_name="c")
|
||||
cls.d = ItemFactory.create(parent=cls.b, category="vertical", display_name="d")
|
||||
cls.e = ItemFactory.create(parent=cls.b, category="vertical", display_name="e")
|
||||
cls.f = ItemFactory.create(parent=cls.b, category="vertical", display_name="f")
|
||||
cls.g = ItemFactory.create(parent=cls.c, category="vertical", display_name="g")
|
||||
cls.h = ItemFactory.create(parent=cls.d, category="problem", display_name="h")
|
||||
cls.i = ItemFactory.create(parent=cls.d, category="problem", display_name="i")
|
||||
cls.j = ItemFactory.create(parent=cls.e, category="problem", display_name="j")
|
||||
cls.k = ItemFactory.create(parent=cls.e, category="html", display_name="k")
|
||||
cls.l = ItemFactory.create(parent=cls.e, category="problem", display_name="l")
|
||||
cls.m = ItemFactory.create(parent=cls.f, category="html", display_name="m")
|
||||
cls.n = ItemFactory.create(parent=cls.g, category="problem", display_name="n")
|
||||
with cls.store.bulk_operations(cls.course.id):
|
||||
cls.a = ItemFactory.create(parent=cls.course, category="chapter", display_name="a")
|
||||
cls.b = ItemFactory.create(parent=cls.a, category="sequential", display_name="b")
|
||||
cls.c = ItemFactory.create(parent=cls.a, category="sequential", display_name="c")
|
||||
cls.d = ItemFactory.create(parent=cls.b, category="vertical", display_name="d")
|
||||
cls.e = ItemFactory.create(parent=cls.b, category="vertical", display_name="e")
|
||||
cls.f = ItemFactory.create(parent=cls.b, category="vertical", display_name="f")
|
||||
cls.g = ItemFactory.create(parent=cls.c, category="vertical", display_name="g")
|
||||
cls.h = ItemFactory.create(parent=cls.d, category="problem", display_name="h")
|
||||
cls.i = ItemFactory.create(parent=cls.d, category="problem", display_name="i")
|
||||
cls.j = ItemFactory.create(parent=cls.e, category="problem", display_name="j")
|
||||
cls.k = ItemFactory.create(parent=cls.e, category="html", display_name="k")
|
||||
cls.l = ItemFactory.create(parent=cls.e, category="problem", display_name="l")
|
||||
cls.m = ItemFactory.create(parent=cls.f, category="html", display_name="m")
|
||||
cls.n = ItemFactory.create(parent=cls.g, category="problem", display_name="n")
|
||||
|
||||
cls.request = get_mock_request(UserFactory())
|
||||
CourseEnrollment.enroll(cls.request.user, cls.course.id)
|
||||
@@ -341,96 +343,97 @@ class TestGetModuleScore(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
|
||||
def setUpClass(cls):
|
||||
super(TestGetModuleScore, cls).setUpClass()
|
||||
cls.course = CourseFactory.create()
|
||||
cls.chapter = ItemFactory.create(
|
||||
parent=cls.course,
|
||||
category="chapter",
|
||||
display_name="Test Chapter"
|
||||
)
|
||||
cls.seq1 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 1",
|
||||
graded=True
|
||||
)
|
||||
cls.seq2 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 2",
|
||||
graded=True
|
||||
)
|
||||
cls.seq3 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 3",
|
||||
graded=True
|
||||
)
|
||||
cls.vert1 = ItemFactory.create(
|
||||
parent=cls.seq1,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 1'
|
||||
)
|
||||
cls.vert2 = ItemFactory.create(
|
||||
parent=cls.seq2,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 2'
|
||||
)
|
||||
cls.vert3 = ItemFactory.create(
|
||||
parent=cls.seq3,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 3'
|
||||
)
|
||||
cls.randomize = ItemFactory.create(
|
||||
parent=cls.vert2,
|
||||
category='randomize',
|
||||
display_name='Test Randomize'
|
||||
)
|
||||
cls.library_content = ItemFactory.create(
|
||||
parent=cls.vert3,
|
||||
category='library_content',
|
||||
display_name='Test Library Content'
|
||||
)
|
||||
problem_xml = MultipleChoiceResponseXMLFactory().build_xml(
|
||||
question_text='The correct answer is Choice 3',
|
||||
choices=[False, False, True, False],
|
||||
choice_names=['choice_0', 'choice_1', 'choice_2', 'choice_3']
|
||||
)
|
||||
cls.problem1 = ItemFactory.create(
|
||||
parent=cls.vert1,
|
||||
category="problem",
|
||||
display_name="Test Problem 1",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem2 = ItemFactory.create(
|
||||
parent=cls.vert1,
|
||||
category="problem",
|
||||
display_name="Test Problem 2",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem3 = ItemFactory.create(
|
||||
parent=cls.randomize,
|
||||
category="problem",
|
||||
display_name="Test Problem 3",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem4 = ItemFactory.create(
|
||||
parent=cls.randomize,
|
||||
category="problem",
|
||||
display_name="Test Problem 4",
|
||||
data=problem_xml
|
||||
)
|
||||
with cls.store.bulk_operations(cls.course.id):
|
||||
cls.chapter = ItemFactory.create(
|
||||
parent=cls.course,
|
||||
category="chapter",
|
||||
display_name="Test Chapter"
|
||||
)
|
||||
cls.seq1 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 1",
|
||||
graded=True
|
||||
)
|
||||
cls.seq2 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 2",
|
||||
graded=True
|
||||
)
|
||||
cls.seq3 = ItemFactory.create(
|
||||
parent=cls.chapter,
|
||||
category='sequential',
|
||||
display_name="Test Sequential 3",
|
||||
graded=True
|
||||
)
|
||||
cls.vert1 = ItemFactory.create(
|
||||
parent=cls.seq1,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 1'
|
||||
)
|
||||
cls.vert2 = ItemFactory.create(
|
||||
parent=cls.seq2,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 2'
|
||||
)
|
||||
cls.vert3 = ItemFactory.create(
|
||||
parent=cls.seq3,
|
||||
category='vertical',
|
||||
display_name='Test Vertical 3'
|
||||
)
|
||||
cls.randomize = ItemFactory.create(
|
||||
parent=cls.vert2,
|
||||
category='randomize',
|
||||
display_name='Test Randomize'
|
||||
)
|
||||
cls.library_content = ItemFactory.create(
|
||||
parent=cls.vert3,
|
||||
category='library_content',
|
||||
display_name='Test Library Content'
|
||||
)
|
||||
problem_xml = MultipleChoiceResponseXMLFactory().build_xml(
|
||||
question_text='The correct answer is Choice 3',
|
||||
choices=[False, False, True, False],
|
||||
choice_names=['choice_0', 'choice_1', 'choice_2', 'choice_3']
|
||||
)
|
||||
cls.problem1 = ItemFactory.create(
|
||||
parent=cls.vert1,
|
||||
category="problem",
|
||||
display_name="Test Problem 1",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem2 = ItemFactory.create(
|
||||
parent=cls.vert1,
|
||||
category="problem",
|
||||
display_name="Test Problem 2",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem3 = ItemFactory.create(
|
||||
parent=cls.randomize,
|
||||
category="problem",
|
||||
display_name="Test Problem 3",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem4 = ItemFactory.create(
|
||||
parent=cls.randomize,
|
||||
category="problem",
|
||||
display_name="Test Problem 4",
|
||||
data=problem_xml
|
||||
)
|
||||
|
||||
cls.problem5 = ItemFactory.create(
|
||||
parent=cls.library_content,
|
||||
category="problem",
|
||||
display_name="Test Problem 5",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem6 = ItemFactory.create(
|
||||
parent=cls.library_content,
|
||||
category="problem",
|
||||
display_name="Test Problem 6",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem5 = ItemFactory.create(
|
||||
parent=cls.library_content,
|
||||
category="problem",
|
||||
display_name="Test Problem 5",
|
||||
data=problem_xml
|
||||
)
|
||||
cls.problem6 = ItemFactory.create(
|
||||
parent=cls.library_content,
|
||||
category="problem",
|
||||
display_name="Test Problem 6",
|
||||
data=problem_xml
|
||||
)
|
||||
|
||||
def setUp(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user