diff --git a/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py b/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py index 399e9f1e74..dea393263d 100644 --- a/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py +++ b/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py @@ -1205,7 +1205,10 @@ class SplitMongoModuleStore(SplitBulkWriteMixin, ModuleStoreWriteBase): for block_id, block in course.structure['blocks'].iteritems(): # Don't do an in comparison blindly; first check to make sure # that the name qualifier we're looking at isn't a plain string; - # if it is a string, then it should match exactly. + # if it is a string, then it should match exactly. If it's other + # than a string, we check whether it contains the block ID; this + # is so a list or other iterable can be passed with multiple + # valid qualifiers. if isinstance(block_name, six.string_types): name_matches = block_id.id == block_name else: diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py b/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py index 28b2ac0caf..128d90ce0e 100644 --- a/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py +++ b/common/lib/xmodule/xmodule/modulestore/tests/test_split_modulestore.py @@ -629,7 +629,7 @@ class SplitModuleCourseTests(SplitModuleTest): course.advertised_start, "Fall 2013", "advertised_start" ) - self.assertEqual(len(course.children), 3, "children") + self.assertEqual(len(course.children), 4, "children") # check dates and graders--forces loading of descriptor self.assertEqual(course.edited_by, "testassist@edx.org") self.assertDictEqual(course.grade_cutoffs, {"Pass": 0.45}) @@ -735,7 +735,7 @@ class SplitModuleCourseTests(SplitModuleTest): self.assertEqual(len(course.tabs), 6) self.assertEqual(course.display_name, "The Ancient Greek Hero") self.assertEqual(course.advertised_start, "Fall 2013") - self.assertEqual(len(course.children), 3) + self.assertEqual(len(course.children), 4) # check dates and graders--forces loading of descriptor self.assertEqual(course.edited_by, "testassist@edx.org") self.assertDictEqual(course.grade_cutoffs, {"Pass": 0.45}) @@ -1103,7 +1103,7 @@ class SplitModuleItemTests(SplitModuleTest): self.assertEqual(len(block.tabs), 6, "wrong number of tabs") self.assertEqual(block.display_name, "The Ancient Greek Hero") self.assertEqual(block.advertised_start, "Fall 2013") - self.assertEqual(len(block.children), 3) + self.assertEqual(len(block.children), 4) # check dates and graders--forces loading of descriptor self.assertEqual(block.edited_by, "testassist@edx.org") self.assertDictEqual( @@ -1253,7 +1253,7 @@ class SplitModuleItemTests(SplitModuleTest): block = modulestore().get_item(locator) children = block.get_children() expected_ids = [ - "chapter1", "chapter2", "chapter3" + "chapter1", "chap", "chapter2", "chapter3" ] for child in children: self.assertEqual(child.category, "chapter")