示例#1
0
 def test_send_grade_without_grade(self, mock_is_course_run_in_a_program,
                                   mock_send_grade_to_credentials,
                                   _mock_is_learner_issuance_enabled):
     mock_is_course_run_in_a_program.return_value = True
     tasks.send_grade_if_interesting(self.user, self.key, 'verified',
                                     'downloadable', None, None)
     assert not mock_send_grade_to_credentials.delay.called
示例#2
0
 def test_send_grade_if_in_a_program(self, in_program,
                                     mock_is_course_run_in_a_program,
                                     mock_send_grade_to_credentials,
                                     _mock_is_learner_issuance_enabled):
     mock_is_course_run_in_a_program.return_value = in_program
     tasks.send_grade_if_interesting(self.user, self.key, 'verified',
                                     'downloadable', 'A', 1.0)
     assert mock_send_grade_to_credentials.delay.called is in_program
示例#3
0
 def test_send_grade_records_disabled_globally(
         self, _mock_is_course_run_in_a_program,
         mock_send_grade_to_credentials, _mock_is_learner_issuance_enabled):
     assert is_learner_records_enabled()
     with override_settings(FEATURES={"ENABLE_LEARNER_RECORDS": False}):
         assert not is_learner_records_enabled()
         tasks.send_grade_if_interesting(self.user, self.key, 'verified',
                                         'downloadable', None, None)
     assert not mock_send_grade_to_credentials.delay.called
示例#4
0
    def test_send_grade_queries_grade(self, mock_is_course_run_in_a_program, mock_send_grade_to_credentials,
                                      _mock_is_learner_issuance_enabled):
        mock_is_course_run_in_a_program.return_value = True

        with mock_passing_grade('B', 0.81):
            tasks.send_grade_if_interesting(self.user, self.key, 'verified', 'downloadable', None, None)
        assert mock_send_grade_to_credentials.delay.called
        assert mock_send_grade_to_credentials.delay.call_args[0] == (self.user.username, str(self.key), True, 'B', 0.81)
        mock_send_grade_to_credentials.delay.reset_mock()
示例#5
0
    def test_send_grade_records_enabled(self, _mock_is_course_run_in_a_program, mock_send_grade_to_credentials,
                                        _mock_is_learner_issuance_enabled):
        site_config = SiteConfigurationFactory.create(
            site_values={'course_org_filter': [self.key.org]}
        )

        # Correctly sent
        tasks.send_grade_if_interesting(self.user, self.key, 'verified', 'downloadable', None, None)
        assert mock_send_grade_to_credentials.delay.called
        mock_send_grade_to_credentials.delay.reset_mock()

        # Correctly not sent
        site_config.site_values['ENABLE_LEARNER_RECORDS'] = False
        site_config.save()
        tasks.send_grade_if_interesting(self.user, self.key, 'verified', 'downloadable', None, None)
        assert not mock_send_grade_to_credentials.delay.called
示例#6
0
    def test_send_grade_if_right_cert(self, called, mode, status, mock_is_course_run_in_a_program,
                                      mock_send_grade_to_credentials, _mock_is_learner_issuance_enabled):
        mock_is_course_run_in_a_program.return_value = True

        # Test direct send
        tasks.send_grade_if_interesting(self.user, self.key, mode, status, 'A', 1.0)
        assert mock_send_grade_to_credentials.delay.called is called
        mock_send_grade_to_credentials.delay.reset_mock()

        # Test query
        GeneratedCertificateFactory(
            user=self.user,
            course_id=self.key,
            status=status,
            mode=mode
        )
        tasks.send_grade_if_interesting(self.user, self.key, None, None, 'A', 1.0)
        assert mock_send_grade_to_credentials.delay.called is called
示例#7
0
 def test_send_grade_missing_cert(self, _, mock_send_grade_to_credentials,
                                  _mock_is_learner_issuance_enabled):
     tasks.send_grade_if_interesting(self.user, self.key, None, None, 'A',
                                     1.0)
     assert not mock_send_grade_to_credentials.delay.called