diff --git a/openedx/core/djangoapps/credentials/tests/test_signals.py b/openedx/core/djangoapps/credentials/tests/test_signals.py index 6d1de48e12..94e334a91b 100644 --- a/openedx/core/djangoapps/credentials/tests/test_signals.py +++ b/openedx/core/djangoapps/credentials/tests/test_signals.py @@ -40,10 +40,12 @@ class TestCredentialsSignalsSendGrade(TestCase): @ddt.data( [True, 'verified', 'downloadable'], [True, 'professional', 'downloadable'], + [True, 'no-id-professional', 'downloadable'], [True, 'credit', 'downloadable'], [True, 'verified', 'notpassing'], [False, 'audit', 'downloadable'], [False, 'professional', 'generating'], + [False, 'no-id-professional', 'generating'], ) @ddt.unpack def test_send_grade_if_right_cert(self, called, mode, status, mock_is_course_run_in_a_program, diff --git a/openedx/core/djangoapps/programs/tasks/v1/tasks.py b/openedx/core/djangoapps/programs/tasks/v1/tasks.py index f93c42558b..2d3fac8265 100644 --- a/openedx/core/djangoapps/programs/tasks/v1/tasks.py +++ b/openedx/core/djangoapps/programs/tasks/v1/tasks.py @@ -285,7 +285,7 @@ def award_course_certificate(self, username, course_run_key): username ) return - if certificate.mode in CourseMode.VERIFIED_MODES + CourseMode.CREDIT_MODES: + if certificate.mode in CourseMode.CREDIT_ELIGIBLE_MODES + CourseMode.CREDIT_MODES: try: course_overview = CourseOverview.get_from_id(course_key) except (CourseOverview.DoesNotExist, IOError): diff --git a/openedx/core/djangoapps/programs/tasks/v1/tests/test_tasks.py b/openedx/core/djangoapps/programs/tasks/v1/tests/test_tasks.py index 02994e0916..667f9ed565 100644 --- a/openedx/core/djangoapps/programs/tasks/v1/tests/test_tasks.py +++ b/openedx/core/djangoapps/programs/tasks/v1/tests/test_tasks.py @@ -407,6 +407,7 @@ class PostCourseCertificateTestCase(TestCase): @skip_unless_lms +@ddt.ddt @mock.patch(TASKS_MODULE + '.post_course_certificate') @override_settings(CREDENTIALS_SERVICE_USERNAME='test-service-username') @override_switch(waffle.WAFFLE_NAMESPACE + '.' + waffle.AUTO_CERTIFICATE_GENERATION, True) @@ -438,10 +439,16 @@ class AwardCourseCertificatesTestCase(CredentialsApiConfigMixin, TestCase): ClientFactory.create(name='credentials') UserFactory.create(username=settings.CREDENTIALS_SERVICE_USERNAME) - def test_award_course_certificates(self, mock_post_course_certificate): + @ddt.data( + 'verified', + 'no-id-professional', + ) + def test_award_course_certificates(self, mode, mock_post_course_certificate): """ Tests the API POST method is called with appropriate params when configured properly """ + self.certificate.mode = mode + self.certificate.save() tasks.award_course_certificate.delay(self.student.username, str(self.course.id)).get() call_args, _ = mock_post_course_certificate.call_args self.assertEqual(call_args[1], self.student.username)