diff --git a/cms/djangoapps/contentstore/course_group_config.py b/cms/djangoapps/contentstore/course_group_config.py index b8e9a6d93e..09036dad13 100644 --- a/cms/djangoapps/contentstore/course_group_config.py +++ b/cms/djangoapps/contentstore/course_group_config.py @@ -15,7 +15,7 @@ from lms.lib.utils import get_parent_unit from openedx.core.djangoapps.course_groups.partition_scheme import get_cohorted_user_partition from xmodule.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, ReadOnlyUserPartitionError, UserPartition # lint-amnesty, pylint: disable=wrong-import-order from xmodule.partitions.partitions_service import get_all_partitions_for_course # lint-amnesty, pylint: disable=wrong-import-order -from xmodule.split_test_module import get_split_user_partitions # lint-amnesty, pylint: disable=wrong-import-order +from xmodule.split_test_block import get_split_user_partitions # lint-amnesty, pylint: disable=wrong-import-order MINIMUM_GROUP_ID = MINIMUM_STATIC_PARTITION_ID diff --git a/cms/djangoapps/contentstore/tests/test_courseware_index.py b/cms/djangoapps/contentstore/tests/test_courseware_index.py index 91438bebb1..1b898845a9 100644 --- a/cms/djangoapps/contentstore/tests/test_courseware_index.py +++ b/cms/djangoapps/contentstore/tests/test_courseware_index.py @@ -860,7 +860,7 @@ class GroupConfigurationSearchSplit(CourseTestCase, MixedWithOptionsTestCase): super().setUp() self._setup_course_with_content() - self._setup_split_test_module() + self._setup_split_test_block() self._setup_content_groups() self.reload_course() @@ -950,9 +950,9 @@ class GroupConfigurationSearchSplit(CourseTestCase, MixedWithOptionsTestCase): ) self.html_unit3.parent = self.vertical2 - def _setup_split_test_module(self): + def _setup_split_test_block(self): """ - Set up split test module. + Set up split test block. """ c0_url = self.course.id.make_usage_key("vertical", "condition_0_vertical") c1_url = self.course.id.make_usage_key("vertical", "condition_1_vertical") diff --git a/cms/djangoapps/contentstore/tests/test_import.py b/cms/djangoapps/contentstore/tests/test_import.py index 4994ba1180..d648c00c28 100644 --- a/cms/djangoapps/contentstore/tests/test_import.py +++ b/cms/djangoapps/contentstore/tests/test_import.py @@ -218,7 +218,7 @@ class ContentStoreImportTest(ModuleStoreTestCase): """ self._verify_split_test_import( 'split_test_copy', - 'split_test_module', + 'split_test_block', 'split1', {"0": 'sample_0', "2": 'sample_2'}, ) @@ -229,7 +229,7 @@ class ContentStoreImportTest(ModuleStoreTestCase): """ self._verify_split_test_import( 'split_test_copy_with_draft', - 'split_test_module_draft', + 'split_test_block_draft', 'fb34c21fe64941999eaead421a8711b8', {"0": '9f0941d021414798836ef140fb5f6841', "1": '0faf29473cf1497baa33fcc828b179cd'}, ) @@ -245,16 +245,16 @@ class ContentStoreImportTest(ModuleStoreTestCase): target_id=target_id, create_if_not_present=True ) - split_test_module = module_store.get_item( + split_test_block = module_store.get_item( target_id.make_usage_key('split_test', split_test_name) ) - self.assertIsNotNone(split_test_module) + self.assertIsNotNone(split_test_block) remapped_verticals = { key: target_id.make_usage_key('vertical', value) for key, value in groups_to_verticals.items() } - self.assertEqual(remapped_verticals, split_test_module.group_id_to_child) + self.assertEqual(remapped_verticals, split_test_block.group_id_to_child) @ddt.data(ModuleStoreEnum.Type.mongo, ModuleStoreEnum.Type.split) def test_video_components_present_while_import(self, store): diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py index a7b9942ae5..d972eb4f22 100644 --- a/cms/djangoapps/contentstore/views/preview.py +++ b/cms/djangoapps/contentstore/views/preview.py @@ -240,7 +240,7 @@ class StudioPartitionService(PartitionService): """ def get_user_group_id_for_partition(self, user, user_partition_id): """ - Override this method to return None, as the split_test_module calls this + Override this method to return None, as the split_test_block calls this to determine which group a user should see, but is robust to getting a return value of None meaning that all groups should be shown. """ diff --git a/cms/djangoapps/contentstore/views/tests/test_group_configurations.py b/cms/djangoapps/contentstore/views/tests/test_group_configurations.py index 728d2d9808..4370981321 100644 --- a/cms/djangoapps/contentstore/views/tests/test_group_configurations.py +++ b/cms/djangoapps/contentstore/views/tests/test_group_configurations.py @@ -1169,7 +1169,7 @@ class GroupConfigurationsValidationTestCase(CourseTestCase, HelperMethods): Tests for validation in Group Configurations. """ - @patch('xmodule.split_test_module.SplitTestBlock.validate_split_test') + @patch('xmodule.split_test_block.SplitTestBlock.validate_split_test') def verify_validation_add_usage_info(self, expected_result, mocked_message, mocked_validation_messages): """ Helper method for testing validation information present after add_usage_info. @@ -1204,7 +1204,7 @@ class GroupConfigurationsValidationTestCase(CourseTestCase, HelperMethods): ) self.verify_validation_add_usage_info(expected_result, mocked_message) # pylint: disable=no-value-for-parameter - @patch('xmodule.split_test_module.SplitTestBlock.validate_split_test') + @patch('xmodule.split_test_block.SplitTestBlock.validate_split_test') def verify_validation_update_usage_info(self, expected_result, mocked_message, mocked_validation_messages): """ Helper method for testing validation information present after update_usage_info. diff --git a/common/test/data/split_test_module/course.xml b/common/test/data/split_test_block/course.xml similarity index 100% rename from common/test/data/split_test_module/course.xml rename to common/test/data/split_test_block/course.xml diff --git a/common/test/data/split_test_module_draft/chapter/7ba42782322541d29a4d1be1eae4e4e8.xml b/common/test/data/split_test_block_draft/chapter/7ba42782322541d29a4d1be1eae4e4e8.xml similarity index 100% rename from common/test/data/split_test_module_draft/chapter/7ba42782322541d29a4d1be1eae4e4e8.xml rename to common/test/data/split_test_block_draft/chapter/7ba42782322541d29a4d1be1eae4e4e8.xml diff --git a/common/test/data/split_test_module_draft/course.xml b/common/test/data/split_test_block_draft/course.xml similarity index 100% rename from common/test/data/split_test_module_draft/course.xml rename to common/test/data/split_test_block_draft/course.xml diff --git a/common/test/data/split_test_module_draft/course/3111.xml b/common/test/data/split_test_block_draft/course/3111.xml similarity index 100% rename from common/test/data/split_test_module_draft/course/3111.xml rename to common/test/data/split_test_block_draft/course/3111.xml diff --git a/common/test/data/split_test_module_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.html b/common/test/data/split_test_block_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.html similarity index 100% rename from common/test/data/split_test_module_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.html rename to common/test/data/split_test_block_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.html diff --git a/common/test/data/split_test_module_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.xml b/common/test/data/split_test_block_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.xml rename to common/test/data/split_test_block_draft/drafts/html/5f2b89070ad64ea7846800c11d44ed72.xml diff --git a/common/test/data/split_test_module_draft/drafts/problem/50cef3605ec6445b9f11360640d9a192.xml b/common/test/data/split_test_block_draft/drafts/problem/50cef3605ec6445b9f11360640d9a192.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/problem/50cef3605ec6445b9f11360640d9a192.xml rename to common/test/data/split_test_block_draft/drafts/problem/50cef3605ec6445b9f11360640d9a192.xml diff --git a/common/test/data/split_test_module_draft/drafts/split_test/fb34c21fe64941999eaead421a8711b8.xml b/common/test/data/split_test_block_draft/drafts/split_test/fb34c21fe64941999eaead421a8711b8.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/split_test/fb34c21fe64941999eaead421a8711b8.xml rename to common/test/data/split_test_block_draft/drafts/split_test/fb34c21fe64941999eaead421a8711b8.xml diff --git a/common/test/data/split_test_module_draft/drafts/vertical/0faf29473cf1497baa33fcc828b179cd.xml b/common/test/data/split_test_block_draft/drafts/vertical/0faf29473cf1497baa33fcc828b179cd.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/vertical/0faf29473cf1497baa33fcc828b179cd.xml rename to common/test/data/split_test_block_draft/drafts/vertical/0faf29473cf1497baa33fcc828b179cd.xml diff --git a/common/test/data/split_test_module_draft/drafts/vertical/5276f65d0e184dcca0841044576a540b.xml b/common/test/data/split_test_block_draft/drafts/vertical/5276f65d0e184dcca0841044576a540b.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/vertical/5276f65d0e184dcca0841044576a540b.xml rename to common/test/data/split_test_block_draft/drafts/vertical/5276f65d0e184dcca0841044576a540b.xml diff --git a/common/test/data/split_test_module_draft/drafts/vertical/9f0941d021414798836ef140fb5f6841.xml b/common/test/data/split_test_block_draft/drafts/vertical/9f0941d021414798836ef140fb5f6841.xml similarity index 100% rename from common/test/data/split_test_module_draft/drafts/vertical/9f0941d021414798836ef140fb5f6841.xml rename to common/test/data/split_test_block_draft/drafts/vertical/9f0941d021414798836ef140fb5f6841.xml diff --git a/common/test/data/split_test_module_draft/policies/3111/grading_policy.json b/common/test/data/split_test_block_draft/policies/3111/grading_policy.json similarity index 100% rename from common/test/data/split_test_module_draft/policies/3111/grading_policy.json rename to common/test/data/split_test_block_draft/policies/3111/grading_policy.json diff --git a/common/test/data/split_test_module_draft/policies/3111/policy.json b/common/test/data/split_test_block_draft/policies/3111/policy.json similarity index 100% rename from common/test/data/split_test_module_draft/policies/3111/policy.json rename to common/test/data/split_test_block_draft/policies/3111/policy.json diff --git a/common/test/data/split_test_module_draft/policies/assets.json b/common/test/data/split_test_block_draft/policies/assets.json similarity index 100% rename from common/test/data/split_test_module_draft/policies/assets.json rename to common/test/data/split_test_block_draft/policies/assets.json diff --git a/common/test/data/split_test_module_draft/sequential/75f1ab8297514713b8d8935f6745a0f7.xml b/common/test/data/split_test_block_draft/sequential/75f1ab8297514713b8d8935f6745a0f7.xml similarity index 100% rename from common/test/data/split_test_module_draft/sequential/75f1ab8297514713b8d8935f6745a0f7.xml rename to common/test/data/split_test_block_draft/sequential/75f1ab8297514713b8d8935f6745a0f7.xml diff --git a/lms/djangoapps/instructor/tasks.py b/lms/djangoapps/instructor/tasks.py index b28f5387f8..d17a1f8194 100644 --- a/lms/djangoapps/instructor/tasks.py +++ b/lms/djangoapps/instructor/tasks.py @@ -91,7 +91,7 @@ def update_exam_completion_task(user_identifier: str, content_id: str, completio # single way to get the children assigned for a partcular user. Some blocks define the # child descriptors method, but others don't and with blocks like Randomized Content # (Library Content), the get_children method returns all children and not just assigned - # children. So this is our way around situations like that. See also Split Test Module + # children. So this is our way around situations like that. See also Split Test Block # for another use case where user state has to be taken into account via get_child_descriptors block_children = ((hasattr(block, 'get_child_descriptors') and block.get_child_descriptors()) or (hasattr(block, 'get_children') and block.get_children()) diff --git a/lms/djangoapps/instructor_task/tasks_helper/grades.py b/lms/djangoapps/instructor_task/tasks_helper/grades.py index 23220ceaae..76dbdcb72c 100644 --- a/lms/djangoapps/instructor_task/tasks_helper/grades.py +++ b/lms/djangoapps/instructor_task/tasks_helper/grades.py @@ -47,7 +47,7 @@ from openedx.core.lib.cache_utils import get_cache from openedx.core.lib.courses import get_course_by_id from xmodule.modulestore.django import modulestore # lint-amnesty, pylint: disable=wrong-import-order from xmodule.partitions.partitions_service import PartitionService # lint-amnesty, pylint: disable=wrong-import-order -from xmodule.split_test_module import get_split_user_partitions # lint-amnesty, pylint: disable=wrong-import-order +from xmodule.split_test_block import get_split_user_partitions # lint-amnesty, pylint: disable=wrong-import-order from .runner import TaskProgress from .utils import upload_csv_to_report_store, upload_csv_file_to_report_store diff --git a/setup.py b/setup.py index 4bc9c8dd2b..4519b24f93 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ XBLOCKS = [ "randomize = xmodule.randomize_block:RandomizeBlock", "sequential = xmodule.seq_block:SequenceBlock", "slides = xmodule.template_block:TranslateCustomTagBlock", - "split_test = xmodule.split_test_module:SplitTestBlock", + "split_test = xmodule.split_test_block:SplitTestBlock", "static_tab = xmodule.html_block:StaticTabBlock", "unit = xmodule.unit_block:UnitBlock", "vertical = xmodule.vertical_block:VerticalBlock", diff --git a/xmodule/modulestore/tests/test_cross_modulestore_import_export.py b/xmodule/modulestore/tests/test_cross_modulestore_import_export.py index 3e7d879e9f..89dd45055e 100644 --- a/xmodule/modulestore/tests/test_cross_modulestore_import_export.py +++ b/xmodule/modulestore/tests/test_cross_modulestore_import_export.py @@ -39,8 +39,8 @@ from xmodule.tests import CourseComparisonTest COURSE_DATA_NAMES = ( 'toy', 'manual-testing-complete', - 'split_test_module', - 'split_test_module_draft', + 'split_test_block', + 'split_test_block_draft', ) EXPORTED_COURSE_DIR_NAME = 'exported_source_course' diff --git a/xmodule/split_test_module.py b/xmodule/split_test_block.py similarity index 98% rename from xmodule/split_test_module.py rename to xmodule/split_test_block.py index 63f728352c..dcc962a66e 100644 --- a/xmodule/split_test_module.py +++ b/xmodule/split_test_block.py @@ -73,7 +73,7 @@ user_partition_values = UserPartitionValues() class SplitTestFields: - """Fields needed for split test module""" + """Fields needed for split test block""" has_children = True # Default value used for user_partition_id @@ -242,13 +242,13 @@ class SplitTestBlock( # lint-amnesty, pylint: disable=abstract-method child_descriptor = self.get_child_descriptor_by_location(child_location) else: # Oops. Config error. - log.debug("configuration error in split test module: invalid group_id %r (not one of %r). Showing error", str_group_id, list(self.group_id_to_child.keys())) # lint-amnesty, pylint: disable=line-too-long + log.debug("configuration error in split test block: invalid group_id %r (not one of %r). Showing error", str_group_id, list(self.group_id_to_child.keys())) # lint-amnesty, pylint: disable=line-too-long if child_descriptor is None: # Peak confusion is great. Now that we set child_descriptor, # get_children() should return a list with one element--the # xmodule for the child - log.debug("configuration error in split test module: no such child") + log.debug("configuration error in split test block: no such child") return [] return [child_descriptor] @@ -264,7 +264,7 @@ class SplitTestBlock( # lint-amnesty, pylint: disable=abstract-method def _staff_view(self, context): """ - Render the staff view for a split test module. + Render the staff view for a split test block. """ fragment = Fragment() active_contents = [] @@ -613,7 +613,7 @@ class SplitTestBlock( # lint-amnesty, pylint: disable=abstract-method def validate_split_test(self): """ - Returns a StudioValidation object describing the current state of the split_test_module + Returns a StudioValidation object describing the current state of the split_test_block (not including superclass validation messages). """ _ = self.runtime.service(self, "i18n").ugettext diff --git a/xmodule/static_content.py b/xmodule/static_content.py index 692233ee4c..b75d2e8de6 100755 --- a/xmodule/static_content.py +++ b/xmodule/static_content.py @@ -27,7 +27,7 @@ from xmodule.library_content_block import LibraryContentBlock from xmodule.lti_block import LTIBlock from xmodule.poll_block import PollBlock from xmodule.seq_block import SequenceBlock -from xmodule.split_test_module import SplitTestBlock +from xmodule.split_test_block import SplitTestBlock from xmodule.template_block import CustomTagBlock from xmodule.word_cloud_block import WordCloudBlock from xmodule.x_module import HTMLSnippet diff --git a/xmodule/tests/test_split_test_module.py b/xmodule/tests/test_split_test_block.py similarity index 84% rename from xmodule/tests/test_split_test_module.py rename to xmodule/tests/test_split_test_block.py index 212dfa87b5..b927bdd882 100644 --- a/xmodule/tests/test_split_test_module.py +++ b/xmodule/tests/test_split_test_block.py @@ -12,7 +12,7 @@ from xmodule.modulestore.tests.factories import CourseFactory from xmodule.modulestore.tests.utils import MixedSplitTestCase from xmodule.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, Group, UserPartition from xmodule.partitions.tests.test_partitions import MockPartitionService, MockUserPartitionScheme, PartitionTestCase -from xmodule.split_test_module import ( +from xmodule.split_test_block import ( SplitTestBlock, SplitTestFields, get_split_user_partitions, @@ -114,8 +114,8 @@ class SplitTestBlockTest(XModuleXmlImportTest, PartitionTestCase): user_service._django_user = user # lint-amnesty, pylint: disable=protected-access self.module_system._services['user'] = user_service # pylint: disable=protected-access - self.split_test_module = self.course_sequence.get_children()[0] - self.split_test_module.bind_for_student( + self.split_test_block = self.course_sequence.get_children()[0] + self.split_test_block.bind_for_student( self.module_system, user.id ) @@ -124,13 +124,13 @@ class SplitTestBlockTest(XModuleXmlImportTest, PartitionTestCase): # view, since mock services exist and the rendering code will not short-circuit. mocked_modulestore = Mock() mocked_modulestore.get_course.return_value = self.course - self.split_test_module.system.modulestore = mocked_modulestore + self.split_test_block.system.modulestore = mocked_modulestore @ddt.ddt class SplitTestBlockLMSTest(SplitTestBlockTest): """ - Test the split test module + Test the split test block """ def setUp(self): @@ -146,25 +146,25 @@ class SplitTestBlockLMSTest(SplitTestBlockTest): @ddt.unpack def test_child(self, user_tag, child_url_name): self.user_partition.scheme.current_group = self.user_partition.groups[user_tag] - assert self.split_test_module.child_descriptor.url_name == child_url_name + assert self.split_test_block.child_descriptor.url_name == child_url_name @ddt.data((0, 'HTML FOR GROUP 0'), (1, 'HTML FOR GROUP 1')) @ddt.unpack def test_get_html(self, user_tag, child_content): self.user_partition.scheme.current_group = self.user_partition.groups[user_tag] - assert child_content in self.module_system.render(self.split_test_module, STUDENT_VIEW).content + assert child_content in self.module_system.render(self.split_test_block, STUDENT_VIEW).content @ddt.data(0, 1) def test_child_missing_tag_value(self, _user_tag): # If user_tag has a missing value, we should still get back a valid child url - assert self.split_test_module.child_descriptor.url_name in ['split_test_cond0', 'split_test_cond1'] + assert self.split_test_block.child_descriptor.url_name in ['split_test_cond0', 'split_test_cond1'] @ddt.data(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000) def test_child_persist_new_tag_value_when_tag_missing(self, _user_tag): # If a user_tag has a missing value, a group should be saved/persisted for that user. # So, we check that we get the same url_name when we call on the url_name twice. # We run the test ten times so that, if our storage is failing, we'll be most likely to notice it. - assert self.split_test_module.child_descriptor.url_name == self.split_test_module.child_descriptor.url_name + assert self.split_test_block.child_descriptor.url_name == self.split_test_block.child_descriptor.url_name # Patch the definition_to_xml for the html children. @patch('xmodule.html_block.HtmlBlock.definition_to_xml') @@ -178,7 +178,7 @@ class SplitTestBlockLMSTest(SplitTestBlockTest): self.module_system.process_xml = Mock() # Write out the xml. - xml_obj = self.split_test_module.definition_to_xml(MemoryFS()) + xml_obj = self.split_test_block.definition_to_xml(MemoryFS()) assert xml_obj.get('user_partition_id') == '0' assert xml_obj.get('group_id_to_child') is not None @@ -195,7 +195,7 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): Unit tests for how split test interacts with Studio. """ - @patch('xmodule.split_test_module.SplitTestBlock.group_configuration_url', return_value='http://example.com') + @patch('xmodule.split_test_block.SplitTestBlock.group_configuration_url', return_value='http://example.com') def test_render_author_view(self, group_configuration_url): # lint-amnesty, pylint: disable=unused-argument """ Test the rendering of the Studio author view. @@ -210,25 +210,25 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): 'root_xblock': root_xblock, } - # The split_test module should render both its groups when it is the root - context = create_studio_context(self.split_test_module) - html = self.module_system.render(self.split_test_module, AUTHOR_VIEW, context).content + # The split_test block should render both its groups when it is the root + context = create_studio_context(self.split_test_block) + html = self.module_system.render(self.split_test_block, AUTHOR_VIEW, context).content assert 'HTML FOR GROUP 0' in html assert 'HTML FOR GROUP 1' in html # When rendering as a child, it shouldn't render either of its groups context = create_studio_context(self.course_sequence) - html = self.module_system.render(self.split_test_module, AUTHOR_VIEW, context).content + html = self.module_system.render(self.split_test_block, AUTHOR_VIEW, context).content assert 'HTML FOR GROUP 0' not in html assert 'HTML FOR GROUP 1' not in html # The "Create Missing Groups" button should be rendered when groups are missing - context = create_studio_context(self.split_test_module) - self.split_test_module.user_partitions = [ + context = create_studio_context(self.split_test_block) + self.split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta'), Group("2", 'gamma')]) ] - html = self.module_system.render(self.split_test_module, AUTHOR_VIEW, context).content + html = self.module_system.render(self.split_test_block, AUTHOR_VIEW, context).content assert 'HTML FOR GROUP 0' in html assert 'HTML FOR GROUP 1' in html @@ -239,20 +239,20 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): mocked_course = Mock(advanced_modules=['split_test']) mocked_modulestore = Mock() mocked_modulestore.get_course.return_value = mocked_course - self.split_test_module.system.modulestore = mocked_modulestore + self.split_test_block.system.modulestore = mocked_modulestore - self.split_test_module.user_partitions = [ + self.split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta')]) ] expected_url = '/group_configurations/edX/xml_test_course/101#0' - assert expected_url == self.split_test_module.group_configuration_url + assert expected_url == self.split_test_block.group_configuration_url def test_editable_settings(self): """ Test the setting information passed back from editable_metadata_fields. """ - editable_metadata_fields = self.split_test_module.editable_metadata_fields + editable_metadata_fields = self.split_test_block.editable_metadata_fields assert SplitTestBlock.display_name.name in editable_metadata_fields assert SplitTestBlock.due.name not in editable_metadata_fields assert SplitTestBlock.user_partitions.name not in editable_metadata_fields @@ -265,25 +265,25 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): """ Test the settings that are marked as "non-editable". """ - non_editable_metadata_fields = self.split_test_module.non_editable_metadata_fields + non_editable_metadata_fields = self.split_test_block.non_editable_metadata_fields assert SplitTestBlock.due in non_editable_metadata_fields assert SplitTestBlock.user_partitions in non_editable_metadata_fields assert SplitTestBlock.display_name not in non_editable_metadata_fields - @patch('xmodule.split_test_module.user_partition_values.values') + @patch('xmodule.split_test_block.user_partition_values.values') def test_available_partitions(self, _): """ Tests that the available partitions are populated correctly when editable_metadata_fields are called """ # user_partitions is empty, only the "Not Selected" item will appear. - self.split_test_module.user_partition_id = SplitTestFields.no_partition_selected['value'] - self.split_test_module.editable_metadata_fields # pylint: disable=pointless-statement + self.split_test_block.user_partition_id = SplitTestFields.no_partition_selected['value'] + self.split_test_block.editable_metadata_fields # pylint: disable=pointless-statement partitions = user_partition_values.values assert 1 == len(partitions) assert SplitTestFields.no_partition_selected['value'] == partitions[0]['value'] # Populate user_partitions and call editable_metadata_fields again - self.split_test_module.user_partitions = [ + self.split_test_block.user_partitions = [ UserPartition( 0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta')], self.random_scheme @@ -294,7 +294,7 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): self.non_random_scheme ) ] - self.split_test_module.editable_metadata_fields # pylint: disable=pointless-statement + self.split_test_block.editable_metadata_fields # pylint: disable=pointless-statement partitions = user_partition_values.values assert 2 == len(partitions) assert SplitTestFields.no_partition_selected['value'] == partitions[0]['value'] @@ -302,16 +302,16 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): assert 'first_partition' == partitions[1]['display_name'] # Try again with a selected partition and verify that there is no option for "No Selection" - self.split_test_module.user_partition_id = 0 - self.split_test_module.editable_metadata_fields # pylint: disable=pointless-statement + self.split_test_block.user_partition_id = 0 + self.split_test_block.editable_metadata_fields # pylint: disable=pointless-statement partitions = user_partition_values.values assert 1 == len(partitions) assert 0 == partitions[0]['value'] assert 'first_partition' == partitions[0]['display_name'] # Finally try again with an invalid selected partition and verify that "No Selection" is an option - self.split_test_module.user_partition_id = 999 - self.split_test_module.editable_metadata_fields # pylint: disable=pointless-statement + self.split_test_block.user_partition_id = 999 + self.split_test_block.editable_metadata_fields # pylint: disable=pointless-statement partitions = user_partition_values.values assert 2 == len(partitions) assert SplitTestFields.no_partition_selected['value'] == partitions[0]['value'] @@ -322,43 +322,43 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): """ Tests the active and inactive children returned for different split test configurations. """ - split_test_module = self.split_test_module - children = split_test_module.get_children() + split_test_block = self.split_test_block + children = split_test_block.get_children() # Verify that a split test has no active children if it has no specified user partition. - split_test_module.user_partition_id = -1 - [active_children, inactive_children] = split_test_module.active_and_inactive_children() + split_test_block.user_partition_id = -1 + [active_children, inactive_children] = split_test_block.active_and_inactive_children() assert active_children == [] assert inactive_children == children # Verify that all the children are returned as active for a correctly configured split_test - split_test_module.user_partition_id = 0 - split_test_module.user_partitions = [ + split_test_block.user_partition_id = 0 + split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta')]) ] - [active_children, inactive_children] = split_test_module.active_and_inactive_children() + [active_children, inactive_children] = split_test_block.active_and_inactive_children() assert active_children == children assert inactive_children == [] # Verify that a split_test does not return inactive children in the active children - self.split_test_module.user_partitions = [ + self.split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha')]) ] - [active_children, inactive_children] = split_test_module.active_and_inactive_children() + [active_children, inactive_children] = split_test_block.active_and_inactive_children() assert active_children == [children[0]] assert inactive_children == [children[1]] # Verify that a split_test ignores misconfigured children - self.split_test_module.user_partitions = [ + self.split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("2", 'gamma')]) ] - [active_children, inactive_children] = split_test_module.active_and_inactive_children() + [active_children, inactive_children] = split_test_block.active_and_inactive_children() assert active_children == [children[0]] assert inactive_children == [children[1]] # Verify that a split_test referring to a non-existent user partition has no active children - self.split_test_module.user_partition_id = 2 - [active_children, inactive_children] = split_test_module.active_and_inactive_children() + self.split_test_block.user_partition_id = 2 + [active_children, inactive_children] = split_test_block.active_and_inactive_children() assert active_children == [] assert inactive_children == children @@ -366,7 +366,7 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): """ Test the validation messages produced for different split test configurations. """ - split_test_module = self.split_test_module + split_test_block = self.split_test_block def verify_validation_message(message, expected_message, expected_message_type, expected_action_class=None, expected_action_label=None, @@ -397,8 +397,8 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): assert general_validation.type == expected_message_type # Verify the messages for an unconfigured user partition - split_test_module.user_partition_id = -1 - validation = split_test_module.validate() + split_test_block.user_partition_id = -1 + validation = split_test_block.validate() assert len(validation.messages) == 0 verify_validation_message( validation.summary, @@ -409,20 +409,20 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): ) # Verify the messages for a correctly configured split_test - split_test_module.user_partition_id = 0 - split_test_module.user_partitions = [ + split_test_block.user_partition_id = 0 + split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta')]) ] - validation = split_test_module.validate_split_test() + validation = split_test_block.validate_split_test() assert validation - assert split_test_module.general_validation_message() is None, None + assert split_test_block.general_validation_message() is None, None # Verify the messages for a split test with too few groups - split_test_module.user_partitions = [ + split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("1", 'beta'), Group("2", 'gamma')]) ] - validation = split_test_module.validate() + validation = split_test_block.validate() assert len(validation.messages) == 1 verify_validation_message( validation.messages[0], @@ -437,11 +437,11 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): StudioValidationMessage.ERROR ) # Verify the messages for a split test with children that are not associated with any group - split_test_module.user_partitions = [ + split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha')]) ] - validation = split_test_module.validate() + validation = split_test_block.validate() assert len(validation.messages) == 1 verify_validation_message( validation.messages[0], @@ -454,11 +454,11 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): StudioValidationMessage.WARNING ) # Verify the messages for a split test with both missing and inactive children - split_test_module.user_partitions = [ + split_test_block.user_partitions = [ UserPartition(0, 'first_partition', 'First Partition', [Group("0", 'alpha'), Group("2", 'gamma')]) ] - validation = split_test_module.validate() + validation = split_test_block.validate() assert len(validation.messages) == 2 verify_validation_message( validation.messages[0], @@ -480,8 +480,8 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): ) # Verify the messages for a split test referring to a non-existent user partition - split_test_module.user_partition_id = 2 - validation = split_test_module.validate() + split_test_block.user_partition_id = 2 + validation = split_test_block.validate() assert len(validation.messages) == 1 verify_validation_message( validation.messages[0], @@ -496,14 +496,14 @@ class SplitTestBlockStudioTest(SplitTestBlockTest): ) # Verify the message for a split test referring to a non-random user partition - split_test_module.user_partitions = [ + split_test_block.user_partitions = [ UserPartition( 10, 'incorrect_partition', 'Non Random Partition', [Group("0", 'alpha'), Group("2", 'gamma')], scheme=self.non_random_scheme ) ] - split_test_module.user_partition_id = 10 - validation = split_test_module.validate() + split_test_block.user_partition_id = 10 + validation = split_test_block.validate() assert len(validation.messages) == 1 verify_validation_message( validation.messages[0],