Merge pull request #31344 from openedx/bszabo/TNL-10136-reapply-course-enrollment-changes

feat: TNL-10136 tease course enrollment from student model
This commit is contained in:
bszabo
2022-12-15 13:17:59 -05:00
committed by GitHub
35 changed files with 1937 additions and 1890 deletions

View File

@@ -48,7 +48,7 @@ class CourseLiveTabTestCase(TabTestCase):
)
@ddt.data(True, False)
@patch('common.djangoapps.student.models.CourseEnrollment.is_enrolled', Mock(return_value=True))
@patch('common.djangoapps.student.models.course_enrollment.CourseEnrollment.is_enrolled', Mock(return_value=True))
def test_user_can_access_course_live_tab(self, course_live_config_enabled):
"""
Test if tab is accessible to users with different roles

View File

@@ -301,7 +301,8 @@ class CourseApiTestViews(BaseCoursewareTests, MasqueradeMixin):
""" Test that metadata endpoint returns data for the streak celebration """
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):
UPDATE_MTHD_NAME = 'common.djangoapps.student.models.user.UserCelebration.perform_streak_updates'
with mock.patch(UPDATE_MTHD_NAME, return_value=3):
response = self.client.get(self.url, content_type='application/json')
celebrations = response.json()['celebrations']
assert celebrations['streak_length_to_celebrate'] == 3
@@ -311,7 +312,8 @@ class CourseApiTestViews(BaseCoursewareTests, MasqueradeMixin):
""" 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):
UPDATE_MTHD_NAME = 'common.djangoapps.student.models.user.UserCelebration.perform_streak_updates'
with mock.patch(UPDATE_MTHD_NAME, return_value=3):
response = self.client.get(self.url, content_type='application/json')
celebrations = response.json()['celebrations']
assert celebrations['streak_length_to_celebrate'] == 3

View File

@@ -441,7 +441,7 @@ class ProfileImageViewDeleteTestCase(ProfileImageEndpointMixin, APITestCase):
)
self.check_remove_event_emitted()
@patch('common.djangoapps.student.models.UserProfile.save')
@patch('common.djangoapps.student.models.user.UserProfile.save')
def test_remove_failure(self, user_profile_save, mock_log):
"""
Test that when remove validation fails, the proper HTTP response and

View File

@@ -92,7 +92,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
def test_login_success(self):
response, mock_audit_log = self._login_response(
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.user.AUDIT_LOG'
)
self._assert_response(response, success=True)
self._assert_audit_log(mock_audit_log, 'info', ['Login success', self.user_email])
@@ -105,7 +105,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
self.user.is_active = False
self.user.save()
response, mock_audit_log = self._login_response(
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.user.AUDIT_LOG'
)
self._assert_response(response, success=True)
self._assert_audit_log(mock_audit_log, 'info', ['Login success', self.user_email])
@@ -318,7 +318,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
@patch.dict("django.conf.settings.FEATURES", {'SQUELCH_PII_IN_LOGS': True})
def test_login_success_no_pii(self):
response, mock_audit_log = self._login_response(
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.user.AUDIT_LOG'
)
self._assert_response(response, success=True)
self._assert_audit_log(mock_audit_log, 'info', ['Login success'])
@@ -330,7 +330,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
self.user.save()
response, mock_audit_log = self._login_response(
unicode_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
unicode_email, self.password, patched_audit_log='common.djangoapps.student.models.user.AUDIT_LOG'
)
self._assert_response(response, success=True)
self._assert_audit_log(mock_audit_log, 'info', ['Login success', unicode_email])
@@ -477,7 +477,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
response, _ = self._login_response(self.user_email, self.password)
self._assert_response(response, success=True)
logout_url = reverse('logout')
with patch('common.djangoapps.student.models.AUDIT_LOG') as mock_audit_log:
with patch('common.djangoapps.student.models.user.AUDIT_LOG') as mock_audit_log:
response = self.client.post(logout_url)
assert response.status_code == 200
self._assert_audit_log(mock_audit_log, 'info', ['Logout', 'test'])
@@ -537,7 +537,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase, OpenEdxEventsTestMixin):
response, _ = self._login_response(self.user_email, self.password)
self._assert_response(response, success=True)
logout_url = reverse('logout')
with patch('common.djangoapps.student.models.AUDIT_LOG') as mock_audit_log:
with patch('common.djangoapps.student.models.user.AUDIT_LOG') as mock_audit_log:
response = self.client.post(logout_url)
assert response.status_code == 200
self._assert_audit_log(mock_audit_log, 'info', ['Logout'])