Merge pull request #28868 from edx/mikix/double-coupon
fix: drop segment call for streak discount
This commit is contained in:
@@ -119,6 +119,7 @@ class CourseInfoSerializer(serializers.Serializer): # pylint: disable=abstract-
|
||||
verification_status = serializers.CharField()
|
||||
linkedin_add_to_profile_url = serializers.URLField()
|
||||
user_needs_integrity_signature = serializers.BooleanField()
|
||||
username = serializers.CharField()
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""
|
||||
|
||||
@@ -303,6 +303,7 @@ class CourseApiTestViews(BaseCoursewareTests, MasqueradeMixin):
|
||||
response = self.client.get(self.url)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.data['username'] == masquerade_role or username
|
||||
if expect_course_access:
|
||||
assert response.data['course_access']['has_access']
|
||||
else:
|
||||
@@ -313,24 +314,20 @@ class CourseApiTestViews(BaseCoursewareTests, MasqueradeMixin):
|
||||
CourseEnrollment.enroll(self.user, self.course.id, 'audit')
|
||||
with override_waffle_flag(COURSEWARE_MFE_MILESTONES_STREAK_DISCOUNT, active=True):
|
||||
with mock.patch('common.djangoapps.student.models.UserCelebration.perform_streak_updates', return_value=3):
|
||||
with mock.patch('common.djangoapps.track.segment.track') as mock_segment_track:
|
||||
response = self.client.get(self.url, content_type='application/json')
|
||||
celebrations = response.json()['celebrations']
|
||||
assert celebrations['streak_length_to_celebrate'] == 3
|
||||
assert celebrations['streak_discount_enabled'] is True
|
||||
mock_segment_track.assert_called_once()
|
||||
response = self.client.get(self.url, content_type='application/json')
|
||||
celebrations = response.json()['celebrations']
|
||||
assert celebrations['streak_length_to_celebrate'] == 3
|
||||
assert celebrations['streak_discount_enabled'] is True
|
||||
|
||||
def test_streak_segment_suppressed_for_unverified(self):
|
||||
""" Test that metadata endpoint does not return a discount and signal is not sent if flag is not set """
|
||||
CourseEnrollment.enroll(self.user, self.course.id, 'audit')
|
||||
with override_waffle_flag(COURSEWARE_MFE_MILESTONES_STREAK_DISCOUNT, active=False):
|
||||
with mock.patch('common.djangoapps.student.models.UserCelebration.perform_streak_updates', return_value=3):
|
||||
with mock.patch('common.djangoapps.track.segment.track') as mock_segment_track:
|
||||
response = self.client.get(self.url, content_type='application/json')
|
||||
celebrations = response.json()['celebrations']
|
||||
assert celebrations['streak_length_to_celebrate'] == 3
|
||||
assert celebrations['streak_discount_enabled'] is False
|
||||
mock_segment_track.assert_not_called()
|
||||
response = self.client.get(self.url, content_type='application/json')
|
||||
celebrations = response.json()['celebrations']
|
||||
assert celebrations['streak_length_to_celebrate'] == 3
|
||||
assert celebrations['streak_discount_enabled'] is False
|
||||
|
||||
@ddt.data(
|
||||
(None, False, False, False),
|
||||
|
||||
@@ -9,7 +9,6 @@ from common.djangoapps.student.models import CourseEnrollmentCelebration, UserCe
|
||||
from lms.djangoapps.courseware.utils import can_show_verified_upgrade, verified_upgrade_deadline_link
|
||||
from openedx.features.course_duration_limits.access import get_user_course_expiration_date
|
||||
from openedx.features.discounts.applicability import can_show_streak_discount_coupon
|
||||
from common.djangoapps.track import segment
|
||||
|
||||
|
||||
def get_celebrations_dict(user, enrollment, course, browser_timezone):
|
||||
@@ -43,14 +42,6 @@ def get_celebrations_dict(user, enrollment, course, browser_timezone):
|
||||
verified_mode = modes_dict.get('verified', None)
|
||||
if verified_mode:
|
||||
celebrations['streak_discount_enabled'] = True
|
||||
segment.track(
|
||||
user_id=user.id,
|
||||
event_name='edx.bi.course.streak_discount_enabled',
|
||||
properties={
|
||||
'course_id': str(course_key),
|
||||
'sku': verified_mode.sku,
|
||||
}
|
||||
)
|
||||
|
||||
return celebrations
|
||||
|
||||
|
||||
@@ -158,6 +158,10 @@ class CoursewareMeta:
|
||||
def license(self):
|
||||
return self.course.license
|
||||
|
||||
@property
|
||||
def username(self):
|
||||
return self.effective_user.username
|
||||
|
||||
@property
|
||||
def course_access(self) -> dict:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user