Ejemplo n.º 1
0
    def test_does_not_send_progress_event_when_rendered_student_view_with_display_submit_true(
            self):
        block = MentoringBlock(MagicMock(),
                               DictFieldData({'display_submit': True}), Mock())

        with patch.object(block, 'runtime') as patched_runtime:
            patched_runtime.publish = Mock()

            block.student_view(context={})

            self.assertFalse(patched_runtime.publish.called)
Ejemplo n.º 2
0
 def test_get_content_titles(self, has_title_set):
     """
     Test that we don't send a title to the LMS for the sequential's tooltips when no title
     is set
     """
     if has_title_set:
         data = {'display_name': 'Custom Title'}
         expected = ['Custom Title']
     else:
         data = {}
         expected = []
     block = MentoringBlock(MagicMock(), DictFieldData(data), Mock())
     self.assertEqual(block.get_content_titles(), expected)
Ejemplo n.º 3
0
    def test_sends_progress_event_when_rendered_student_view_with_display_submit_false(
            self):
        block = MentoringBlock(MagicMock(),
                               DictFieldData({'display_submit': False}),
                               Mock())

        with patch.object(block, 'runtime') as patched_runtime:
            patched_runtime.publish = Mock()

            block.student_view(context={})

            patched_runtime.publish.assert_called_once_with(
                block, 'progress', {})
Ejemplo n.º 4
0
    def test_does_not_crash_when_get_child_is_broken(self):
        block = MentoringBlock(MagicMock(),
                               DictFieldData({
                                   'children': ['invalid_id'],
                               }), Mock())

        with patch.object(block, 'runtime') as patched_runtime:
            patched_runtime.publish = Mock()
            patched_runtime.service().ugettext = lambda str: str
            patched_runtime.get_block = lambda block_id: None
            patched_runtime.load_block_type = lambda block_id: Mock

            fragment = block.student_view(context={})

            self.assertIn('Unable to load child component', fragment.content)
Ejemplo n.º 5
0
 def setUp(self):
     self.service_mock = Mock()
     self.runtime_mock = Mock()
     self.runtime_mock.service = Mock(return_value=self.service_mock)
     self.block = MentoringBlock(self.runtime_mock,
                                 DictFieldData({'mode': 'assessment'}),
                                 Mock())
     self.block.children = ['dummy_id']
     self.message_block = MentoringMessageBlock(
         self.runtime_mock,
         DictFieldData({
             'type': 'bogus',
             'content': 'test'
         }), Mock())
     self.block.runtime.replace_jump_to_id_urls = lambda x: x.replace(
         'test', 'replaced-url')
Ejemplo n.º 6
0
    def test_partial_completion_status_migration(self):
        """
        Changed `completed` to `status` in `self.student_results` to accomodate partial responses
        """
        # Instantiate a mentoring block with the old format
        student_results = [
            [
                u'goal', {
                    u'completed': True,
                    u'score': 1,
                    u'student_input': u'test',
                    u'weight': 1
                }
            ],
            [
                u'mcq_1_1', {
                    u'completed': False,
                    u'score': 0,
                    u'submission': u'maybenot',
                    u'weight': 1
                }
            ],
        ]
        mentoring = MentoringBlock(
            MagicMock(), DictFieldData({'student_results': student_results}),
            Mock())
        self.assertEqual(copy.deepcopy(student_results),
                         mentoring.student_results)

        migrated_student_results = copy.deepcopy(student_results)
        migrated_student_results[0][1]['status'] = 'correct'
        migrated_student_results[1][1]['status'] = 'incorrect'
        del migrated_student_results[0][1]['completed']
        del migrated_student_results[1][1]['completed']
        mentoring.migrate_fields()
        self.assertEqual(migrated_student_results, mentoring.student_results)
Ejemplo n.º 7
0
 def setUp(self):
     self.service_mock = Mock()
     self.runtime_mock = Mock()
     self.runtime_mock.service = Mock(return_value=self.service_mock)
     self.block = MentoringBlock(self.runtime_mock, DictFieldData({}),
                                 Mock())