test: Replace calls to reverse('courseware')
We want to remove this page and URL endpoint so we're removing all the references in the code that might point to this page. It was replaced by the sequences page in the Learning MFE years ago but the old pages were never cleaned up. We are replacing the calls with the URL for the courseware in the learning MFE. See https://github.com/openedx/edx-platform/issues/35803 for more details.
This commit is contained in:
@@ -47,6 +47,7 @@ from openedx.core.djangoapps.content.course_overviews.tests.factories import Cou
|
||||
from openedx.core.djangoapps.programs.tests.mixins import ProgramsApiConfigMixin
|
||||
from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
|
||||
from openedx.features.course_experience.url_helpers import make_learning_mfe_courseware_url
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from xmodule.data import CertificatesDisplayBehaviors # lint-amnesty, pylint: disable=wrong-import-order
|
||||
@@ -907,15 +908,15 @@ class ChangeEnrollmentViewTest(ModuleStoreTestCase):
|
||||
)
|
||||
return response
|
||||
|
||||
@ddt.data(
|
||||
(True, 'courseware'),
|
||||
(False, None),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_enrollment_url(self, waffle_flag_enabled, returned_view):
|
||||
with override_waffle_switch(REDIRECT_TO_COURSEWARE_AFTER_ENROLLMENT, waffle_flag_enabled):
|
||||
def test_enrollment_url_without_redirect(self):
|
||||
with override_waffle_switch(REDIRECT_TO_COURSEWARE_AFTER_ENROLLMENT, False):
|
||||
response = self._enroll_through_view(self.course)
|
||||
data = reverse(returned_view, args=[str(self.course.id)]) if returned_view else ''
|
||||
assert response.content.decode('utf8') == ''
|
||||
|
||||
def test_enrollment_with_redirect(self):
|
||||
with override_waffle_switch(REDIRECT_TO_COURSEWARE_AFTER_ENROLLMENT, True):
|
||||
response = self._enroll_through_view(self.course)
|
||||
data = make_learning_mfe_courseware_url(self.course.id)
|
||||
assert response.content.decode('utf8') == data
|
||||
|
||||
def test_enroll_as_default(self):
|
||||
|
||||
@@ -62,6 +62,7 @@ from openedx.core.djangoapps.user_authn.toggles import (
|
||||
)
|
||||
from openedx.core.djangolib.markup import HTML, Text
|
||||
from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
|
||||
from openedx.features.course_experience.url_helpers import make_learning_mfe_courseware_url
|
||||
from openedx.features.discounts.applicability import FIRST_PURCHASE_DISCOUNT_OVERRIDE_FLAG
|
||||
from openedx.features.enterprise_support.utils import is_enterprise_learner
|
||||
from common.djangoapps.student.email_helpers import generate_activation_email_context
|
||||
@@ -408,7 +409,7 @@ def change_enrollment(request, check_access=True):
|
||||
return HttpResponse(redirect_url)
|
||||
|
||||
if CourseEntitlement.check_for_existing_entitlement_and_enroll(user=user, course_run_key=course_id):
|
||||
return HttpResponse(reverse('courseware', args=[str(course_id)]))
|
||||
return HttpResponse(make_learning_mfe_courseware_url(course_id))
|
||||
|
||||
# Check that auto enrollment is allowed for this course
|
||||
# (= the course is NOT behind a paywall)
|
||||
@@ -438,7 +439,7 @@ def change_enrollment(request, check_access=True):
|
||||
)
|
||||
|
||||
if should_redirect_to_courseware_after_enrollment():
|
||||
return HttpResponse(reverse('courseware', args=[str(course_id)]))
|
||||
return HttpResponse(make_learning_mfe_courseware_url(course_id))
|
||||
else:
|
||||
return HttpResponse()
|
||||
elif action == "unenroll":
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
import logging
|
||||
from urllib.parse import urljoin
|
||||
|
||||
from django.urls import reverse
|
||||
from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
@@ -24,6 +23,7 @@ from openedx.core.djangoapps.enrollments.api import add_enrollment
|
||||
from openedx.core.djangoapps.enrollments.views import EnrollmentCrossDomainSessionAuth
|
||||
from openedx.core.djangoapps.user_api.preferences.api import update_email_opt_in
|
||||
from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
|
||||
from openedx.features.course_experience.url_helpers import make_learning_mfe_courseware_url
|
||||
|
||||
from ...constants import Messages
|
||||
from ...http import DetailResponse
|
||||
@@ -122,7 +122,7 @@ class BasketsView(APIView):
|
||||
if CourseEntitlement.check_for_existing_entitlement_and_enroll(user=user, course_run_key=course_key):
|
||||
return JsonResponse(
|
||||
{
|
||||
'redirect_destination': reverse('courseware', args=[str(course_id)]),
|
||||
'redirect_destination': make_learning_mfe_courseware_url(course_id),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ from unittest.mock import patch
|
||||
from django.urls import reverse
|
||||
|
||||
from lms.djangoapps.courseware.tests.tests import LoginEnrollmentTestCase
|
||||
from openedx.features.course_experience.url_helpers import make_learning_mfe_courseware_url
|
||||
from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase # lint-amnesty, pylint: disable=wrong-import-order
|
||||
from xmodule.modulestore.tests.factories import CourseFactory # lint-amnesty, pylint: disable=wrong-import-order
|
||||
@@ -121,7 +122,7 @@ class WikiRedirectTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCas
|
||||
self.create_course_page(self.toy)
|
||||
|
||||
course_wiki_page = reverse('wiki:get', kwargs={'path': self.toy.wiki_slug + '/'})
|
||||
referer = reverse("courseware", kwargs={'course_id': str(self.toy.id)})
|
||||
referer = make_learning_mfe_courseware_url(self.toy.id)
|
||||
|
||||
resp = self.client.get(course_wiki_page, follow=True, HTTP_REFERER=referer)
|
||||
|
||||
@@ -141,7 +142,7 @@ class WikiRedirectTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCas
|
||||
|
||||
self.login(self.student, self.password)
|
||||
course_wiki_page = reverse('wiki:get', kwargs={'path': self.toy.wiki_slug + '/'})
|
||||
referer = reverse("courseware", kwargs={'course_id': str(self.toy.id)})
|
||||
referer = make_learning_mfe_courseware_url(self.toy.id)
|
||||
|
||||
# When not enrolled, we should get a 302
|
||||
resp = self.client.get(course_wiki_page, follow=False, HTTP_REFERER=referer)
|
||||
@@ -195,7 +196,7 @@ class WikiRedirectTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCas
|
||||
self.create_course_page(course)
|
||||
|
||||
course_wiki_page = reverse('wiki:get', kwargs={'path': course.wiki_slug + '/'})
|
||||
referer = reverse("courseware", kwargs={'course_id': str(course.id)})
|
||||
referer = make_learning_mfe_courseware_url(self.toy.id)
|
||||
|
||||
resp = self.client.get(course_wiki_page, follow=True, HTTP_REFERER=referer)
|
||||
assert resp.status_code == 200
|
||||
|
||||
@@ -7,11 +7,15 @@ from django.test import TestCase
|
||||
from django.test.client import RequestFactory
|
||||
|
||||
from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
|
||||
from openedx.core.djangolib.testing.utils import skip_unless_lms
|
||||
|
||||
from ..middleware import UserTagsEventContextMiddleware
|
||||
from ..tests.factories import UserCourseTagFactory
|
||||
|
||||
|
||||
# This middleware only gets installed in the LMS so no need to test
|
||||
# it in the CMS context.
|
||||
@skip_unless_lms
|
||||
class TagsMiddlewareTest(TestCase):
|
||||
"""
|
||||
Test the UserTagsEventContextMiddleware
|
||||
|
||||
@@ -104,7 +104,9 @@ def default_course_url(course_key):
|
||||
from .url_helpers import get_learning_mfe_home_url
|
||||
|
||||
if DISABLE_COURSE_OUTLINE_PAGE_FLAG.is_enabled(course_key):
|
||||
return reverse('courseware', args=[str(course_key)])
|
||||
# Prevent a circular dependency
|
||||
from openedx.features.course_experience.url_helpers import make_learning_mfe_courseware_url
|
||||
return make_learning_mfe_courseware_url(course_key)
|
||||
|
||||
return get_learning_mfe_home_url(course_key, url_fragment='home')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user