Skip to content
Snippets Groups Projects
Commit 0c610749 authored by Uzair Rasheed's avatar Uzair Rasheed Committed by uzairr
Browse files

Refactor Code for LEARNER-5257

Course key object was not serializable before sending to celery
task.
parent 9d29f07d
No related merge requests found
......@@ -7,4 +7,4 @@ ENROLLMENT_TRACK_UPDATED = Signal(providing_args=['user', 'course_key'])
UNENROLL_DONE = Signal(providing_args=["course_enrollment", "skip_refund"])
ENROLL_STATUS_CHANGE = Signal(providing_args=["event", "user", "course_id", "mode", "cost", "currency"])
REFUND_ORDER = Signal(providing_args=["course_enrollment"])
SAILTHRU_AUDIT_PURCHASE = Signal(providing_args=["event", "user", "course_id", "mode"])
SAILTHRU_AUDIT_PURCHASE = Signal(providing_args=["user", "course_id", "mode"])
......@@ -143,7 +143,7 @@ class BasketsView(APIView):
self._enroll(course_key, user, default_enrollment_mode.slug)
mode = CourseMode.AUDIT if audit_mode else CourseMode.HONOR
SAILTHRU_AUDIT_PURCHASE.send(
sender=None, event='enroll', user=user, mode=mode, course_id=course_key
sender=None, user=user, mode=mode, course_id=course_id
)
self._handle_marketing_opt_in(request, course_key, user)
return DetailResponse(msg)
......
......@@ -41,7 +41,7 @@ SAILTHRU_AUDIT_PURCHASE_ENABLED = 'audit_purchase_enabled'
@receiver(SAILTHRU_AUDIT_PURCHASE)
def update_sailthru(sender, event, user, mode, course_id, **kwargs):
def update_sailthru(sender, user, mode, course_id, **kwargs): # pylint: disable=unused-argument
"""
Receives signal and calls a celery task to update the
enrollment track
......@@ -52,9 +52,8 @@ def update_sailthru(sender, event, user, mode, course_id, **kwargs):
None
"""
if WAFFLE_SWITCHES.is_enabled(SAILTHRU_AUDIT_PURCHASE_ENABLED) and mode in CourseMode.AUDIT_MODES:
course_key = course_id
email = str(user.email)
update_course_enrollment.delay(email, course_key, mode)
update_course_enrollment.delay(email, course_id, mode)
@receiver(CREATE_LOGON_COOKIE)
......
......@@ -716,7 +716,7 @@ class SailthruTests(TestCase):
@patch('sailthru.sailthru_client.SailthruClient.purchase')
def test_switch_is_disabled(self, mock_sailthru_purchase):
"""Make sure sailthru purchase is not called when waffle switch is disabled"""
update_sailthru(None, None, self.user, 'verified', self.course_id)
update_sailthru(None, self.user, 'verified', self.course_id)
self.assertFalse(mock_sailthru_purchase.called)
@patch('openedx.core.djangoapps.waffle_utils.WaffleSwitchNamespace.is_enabled')
......@@ -726,5 +726,5 @@ class SailthruTests(TestCase):
i: waffle switch is True and mode is verified
"""
switch.return_value = True
update_sailthru(None, None, self.user, 'verified', self.course_id)
update_sailthru(None, self.user, 'verified', self.course_id)
self.assertFalse(mock_sailthru_purchase.called)
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment