예제 #1
0
    def test_verify_deprecated_warning_message_with_multiple_features(self):
        """
        Verify deprecated warning info for multiple deprecated features.
        """
        block_types = ['peergrading', 'combinedopenended', 'openassessment']
        course_module = modulestore().get_item(self.course.location)
        self._create_test_data(course_module, create_blocks=True, block_types=block_types)

        info = _deprecated_blocks_info(course_module, block_types)
        self._verify_deprecated_info(course_module.id, course_module.advanced_modules, info, block_types)
예제 #2
0
    def test_verify_deprecated_warning_message_with_multiple_features(self):
        """
        Verify deprecated warning info for multiple deprecated features.
        """
        block_types = ['notes', 'lti']
        with override_settings(DEPRECATED_BLOCK_TYPES=block_types):
            course_module = modulestore().get_item(self.course.location)
            self._create_test_data(course_module, create_blocks=True, block_types=block_types)

            info = _deprecated_blocks_info(course_module, block_types)
            self._verify_deprecated_info(course_module.id, course_module.advanced_modules, info, block_types)
 def test_verify_deprecated_warning_message(self, publish, block_types):
     """
     Verify deprecated warning info.
     """
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module,
                            create_blocks=True,
                            block_types=block_types,
                            publish=publish)
     info = _deprecated_blocks_info(course_module, block_types)
     self._verify_deprecated_info(course_module.id,
                                  course_module.advanced_modules, info,
                                  block_types)
예제 #4
0
 def test_verify_deprecated_warning_message(self, publish, block_types):
     """
     Verify deprecated warning info.
     """
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module, create_blocks=True, block_types=block_types, publish=publish)
     info = _deprecated_blocks_info(course_module, block_types)
     self._verify_deprecated_info(
         course_module.id,
         course_module.advanced_modules,
         info,
         block_types
     )
예제 #5
0
 def test_verify_warn_only_on_enabled_modules(self, enabled_block_types, deprecated_block_types):
     """
     Verify that we only warn about block_types that are both deprecated and enabled.
     """
     expected_block_types = list(set(enabled_block_types) & set(deprecated_block_types))
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module, create_blocks=True, block_types=enabled_block_types)
     info = _deprecated_blocks_info(course_module, deprecated_block_types)
     self._verify_deprecated_info(
         course_module.id,
         course_module.advanced_modules,
         info,
         expected_block_types
     )
예제 #6
0
    def test_verify_deprecated_warning_message_with_multiple_features(self):
        """
        Verify deprecated warning info for multiple deprecated features.
        """
        block_types = ['peergrading', 'combinedopenended', 'openassessment']
        course_module = modulestore().get_item(self.course.location)
        self._create_test_data(course_module,
                               create_blocks=True,
                               block_types=block_types)

        info = _deprecated_blocks_info(course_module, block_types)
        self._verify_deprecated_info(course_module.id,
                                     course_module.advanced_modules, info,
                                     block_types)
예제 #7
0
 def test_verify_deprecated_warning_message_with_single_feature(self, publish):
     """
     Verify deprecated warning info for single deprecated feature.
     """
     block_types = settings.DEPRECATED_BLOCK_TYPES
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module, create_blocks=True, block_types=block_types, publish=publish)
     info = _deprecated_blocks_info(course_module, block_types)
     self._verify_deprecated_info(
         course_module.id,
         course_module.advanced_modules,
         info,
         block_types
     )
 def test_verify_warn_only_on_enabled_modules(self, enabled_block_types, deprecated_block_types):
     """
     Verify that we only warn about block_types that are both deprecated and enabled.
     """
     expected_block_types = list(set(enabled_block_types) & set(deprecated_block_types))
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module, create_blocks=True, block_types=enabled_block_types)
     info = _deprecated_blocks_info(course_module, deprecated_block_types)
     self._verify_deprecated_info(
         course_module.id,
         course_module.advanced_modules,
         info,
         expected_block_types
     )
예제 #9
0
 def test_verify_deprecated_warning_message_with_single_feature(
         self, publish):
     """
     Verify deprecated warning info for single deprecated feature.
     """
     block_types = settings.DEPRECATED_BLOCK_TYPES
     course_module = modulestore().get_item(self.course.location)
     self._create_test_data(course_module,
                            create_blocks=True,
                            block_types=block_types,
                            publish=publish)
     info = _deprecated_blocks_info(course_module, block_types)
     self._verify_deprecated_info(course_module.id,
                                  course_module.advanced_modules, info,
                                  block_types)
예제 #10
0
    def test_verify_deprecated_warning_message_with_multiple_features(self):
        """
        Verify deprecated warning info for multiple deprecated features.
        """
        block_types = ['notes', 'lti']
        with override_settings(DEPRECATED_BLOCK_TYPES=block_types):
            course_module = modulestore().get_item(self.course.location)
            self._create_test_data(course_module,
                                   create_blocks=True,
                                   block_types=block_types)

            info = _deprecated_blocks_info(course_module, block_types)
            self._verify_deprecated_info(course_module.id,
                                         course_module.advanced_modules, info,
                                         block_types)
예제 #11
0
    def test_deprecated_blocks_list_updated_correctly(self, delete_vertical):
        """
        Verify that deprecated blocks list shown on banner is updated correctly.

        Here is the scenario:
            This list of deprecated blocks shown on banner contains published
            and un-published blocks. That list should be updated when we delete
            un-published block(s). This behavior should be same if we delete
            unpublished vertical or problem.
        """
        block_types = ['peergrading']
        course_module = modulestore().get_item(self.course.location)

        vertical1 = ItemFactory.create(
            parent_location=self.sequential.location,
            category='vertical',
            display_name='Vert1 Subsection1')
        problem1 = ItemFactory.create(
            parent_location=vertical1.location,
            category='peergrading',
            display_name='peergrading problem in vert1',
            publish_item=False)

        info = _deprecated_blocks_info(course_module, block_types)
        # info['blocks'] should be empty here because there is nothing
        # published or un-published present
        self.assertEqual(info['blocks'], [])

        vertical2 = ItemFactory.create(
            parent_location=self.sequential.location,
            category='vertical',
            display_name='Vert2 Subsection1')
        ItemFactory.create(parent_location=vertical2.location,
                           category='peergrading',
                           display_name='peergrading problem in vert2',
                           pubish_item=True)
        # At this point CourseStructure will contain both the above
        # published and un-published verticals

        info = _deprecated_blocks_info(course_module, block_types)
        self.assertItemsEqual(
            info['blocks'],
            [[
                reverse_usage_url('container_handler', vertical1.location),
                'peergrading problem in vert1'
            ],
             [
                 reverse_usage_url('container_handler', vertical2.location),
                 'peergrading problem in vert2'
             ]])

        # Delete the un-published vertical or problem so that CourseStructure updates its data
        if delete_vertical:
            self.store.delete_item(vertical1.location, self.user.id)
        else:
            self.store.delete_item(problem1.location, self.user.id)

        info = _deprecated_blocks_info(course_module, block_types)
        # info['blocks'] should only contain the info about vertical2 which is published.
        # There shouldn't be any info present about un-published vertical1
        self.assertEqual(info['blocks'], [[
            reverse_usage_url('container_handler', vertical2.location),
            'peergrading problem in vert2'
        ]])
예제 #12
0
    def test_deprecated_blocks_list_updated_correctly(self, delete_vertical):
        """
        Verify that deprecated blocks list shown on banner is updated correctly.

        Here is the scenario:
            This list of deprecated blocks shown on banner contains published
            and un-published blocks. That list should be updated when we delete
            un-published block(s). This behavior should be same if we delete
            unpublished vertical or problem.
        """
        block_types = ['notes']
        course_module = modulestore().get_item(self.course.location)

        vertical1 = ItemFactory.create(
            parent_location=self.sequential.location, category='vertical', display_name='Vert1 Subsection1'
        )
        problem1 = ItemFactory.create(
            parent_location=vertical1.location,
            category='notes',
            display_name='notes problem in vert1',
            publish_item=False
        )

        info = _deprecated_blocks_info(course_module, block_types)
        # info['blocks'] should be empty here because there is nothing
        # published or un-published present
        self.assertEqual(info['blocks'], [])

        vertical2 = ItemFactory.create(
            parent_location=self.sequential.location, category='vertical', display_name='Vert2 Subsection1'
        )
        ItemFactory.create(
            parent_location=vertical2.location,
            category='notes',
            display_name='notes problem in vert2',
            pubish_item=True
        )
        # At this point CourseStructure will contain both the above
        # published and un-published verticals

        info = _deprecated_blocks_info(course_module, block_types)
        self.assertItemsEqual(
            info['blocks'],
            [
                [reverse_usage_url('container_handler', vertical1.location), 'notes problem in vert1'],
                [reverse_usage_url('container_handler', vertical2.location), 'notes problem in vert2']
            ]
        )

        # Delete the un-published vertical or problem so that CourseStructure updates its data
        if delete_vertical:
            self.store.delete_item(vertical1.location, self.user.id)
        else:
            self.store.delete_item(problem1.location, self.user.id)

        info = _deprecated_blocks_info(course_module, block_types)
        # info['blocks'] should only contain the info about vertical2 which is published.
        # There shouldn't be any info present about un-published vertical1
        self.assertEqual(
            info['blocks'],
            [[reverse_usage_url('container_handler', vertical2.location), 'notes problem in vert2']]
        )