1515from django .test import TestCase , override_settings
1616from django .test .client import Client
1717from django .urls import reverse
18+ from edx_toggles .toggles .testutils import override_waffle_switch
1819from markupsafe import escape
1920from opaque_keys .edx .keys import CourseKey
2021from opaque_keys .edx .locations import CourseLocator
3334 user_by_anonymous_id
3435)
3536from common .djangoapps .student .tests .factories import CourseEnrollmentFactory , UserFactory
37+ from common .djangoapps .student .toggles import REDIRECT_TO_COURSEWARE_AFTER_ENROLLMENT
3638from common .djangoapps .student .views import complete_course_mode_info
3739from common .djangoapps .util .model_utils import USER_SETTINGS_CHANGED_EVENT_NAME
3840from common .djangoapps .util .testing import EventTestMixin
@@ -893,6 +895,7 @@ def test_change_enrollment_modes(self):
893895
894896
895897@skip_unless_lms
898+ @ddt .ddt
896899class ChangeEnrollmentViewTest (ModuleStoreTestCase ):
897900 """Tests the student.views.change_enrollment view"""
898901
@@ -913,6 +916,17 @@ def _enroll_through_view(self, course):
913916 )
914917 return response
915918
919+ @ddt .data (
920+ (True , 'courseware' ),
921+ (False , None ),
922+ )
923+ @ddt .unpack
924+ def test_enrollment_url (self , waffle_flag_enabled , returned_view ):
925+ with override_waffle_switch (REDIRECT_TO_COURSEWARE_AFTER_ENROLLMENT , waffle_flag_enabled ):
926+ response = self ._enroll_through_view (self .course )
927+ data = reverse (returned_view , args = [str (self .course .id )]) if returned_view else ''
928+ assert response .content .decode ('utf8' ) == data
929+
916930 def test_enroll_as_default (self ):
917931 """Tests that a student can successfully enroll through this view"""
918932 response = self ._enroll_through_view (self .course )
0 commit comments