diff --git a/openedx/core/djangoapps/courseware_api/serializers.py b/openedx/core/djangoapps/courseware_api/serializers.py index 78fe663e5b..b073f32bd0 100644 --- a/openedx/core/djangoapps/courseware_api/serializers.py +++ b/openedx/core/djangoapps/courseware_api/serializers.py @@ -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): """ diff --git a/openedx/core/djangoapps/courseware_api/tests/test_views.py b/openedx/core/djangoapps/courseware_api/tests/test_views.py index 2c66336bce..176927bfcb 100644 --- a/openedx/core/djangoapps/courseware_api/tests/test_views.py +++ b/openedx/core/djangoapps/courseware_api/tests/test_views.py @@ -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), diff --git a/openedx/core/djangoapps/courseware_api/utils.py b/openedx/core/djangoapps/courseware_api/utils.py index 5278421146..d2a1947973 100644 --- a/openedx/core/djangoapps/courseware_api/utils.py +++ b/openedx/core/djangoapps/courseware_api/utils.py @@ -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 diff --git a/openedx/core/djangoapps/courseware_api/views.py b/openedx/core/djangoapps/courseware_api/views.py index 2a708279b5..6ef71bb673 100644 --- a/openedx/core/djangoapps/courseware_api/views.py +++ b/openedx/core/djangoapps/courseware_api/views.py @@ -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: """