fix course sock for courses without verified modes

parent 44e5afba
...@@ -4,6 +4,7 @@ Tests for course verification sock ...@@ -4,6 +4,7 @@ Tests for course verification sock
import ddt import ddt
from commerce.models import CommerceConfiguration
from course_modes.models import CourseMode from course_modes.models import CourseMode
from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag
from openedx.features.course_experience import DISPLAY_COURSE_SOCK_FLAG from openedx.features.course_experience import DISPLAY_COURSE_SOCK_FLAG
...@@ -50,6 +51,8 @@ class TestCourseSockView(SharedModuleStoreTestCase): ...@@ -50,6 +51,8 @@ class TestCourseSockView(SharedModuleStoreTestCase):
user=self.user, course_id=self.verified_course_already_enrolled.id, mode=CourseMode.VERIFIED user=self.user, course_id=self.verified_course_already_enrolled.id, mode=CourseMode.VERIFIED
) )
CommerceConfiguration.objects.create(enabled=True, checkout_on_ecommerce_service=True)
# Log the user in # Log the user in
self.client.login(username=self.user.username, password=TEST_PASSWORD) self.client.login(username=self.user.username, password=TEST_PASSWORD)
...@@ -90,15 +93,7 @@ class TestCourseSockView(SharedModuleStoreTestCase): ...@@ -90,15 +93,7 @@ class TestCourseSockView(SharedModuleStoreTestCase):
self.assert_verified_sock_is_not_visible(self.verified_course_already_enrolled, response) self.assert_verified_sock_is_not_visible(self.verified_course_already_enrolled, response)
def assert_verified_sock_is_visible(self, course, response): def assert_verified_sock_is_visible(self, course, response):
return self.assertIn( return self.assertContains(response, TEST_VERIFICATION_SOCK_LOCATOR, html=False)
TEST_VERIFICATION_SOCK_LOCATOR,
response.content,
msg='Student should be able to see sock if they have already upgraded to verified mode.',
)
def assert_verified_sock_is_not_visible(self, course, response): def assert_verified_sock_is_not_visible(self, course, response):
return self.assertNotIn( return self.assertNotContains(response, TEST_VERIFICATION_SOCK_LOCATOR, html=False)
TEST_VERIFICATION_SOCK_LOCATOR,
response.content,
msg='Student should not be able to see sock in a unverifiable course.',
)
...@@ -27,8 +27,12 @@ class CourseSockFragmentView(EdxFragmentView): ...@@ -27,8 +27,12 @@ class CourseSockFragmentView(EdxFragmentView):
def get_verification_context(request, course): def get_verification_context(request, course):
enrollment = CourseEnrollment.get_enrollment(request.user, course.id) enrollment = CourseEnrollment.get_enrollment(request.user, course.id)
show_course_sock = verified_upgrade_link_is_valid(enrollment) and get_language() == 'en' show_course_sock = verified_upgrade_link_is_valid(enrollment) and get_language() == 'en'
upgrade_url = verified_upgrade_deadline_link(request.user, course=course) if show_course_sock:
course_price = get_cosmetic_verified_display_price(course) upgrade_url = verified_upgrade_deadline_link(request.user, course=course)
course_price = get_cosmetic_verified_display_price(course)
else:
upgrade_url = ''
course_price = ''
context = { context = {
'show_course_sock': show_course_sock, 'show_course_sock': show_course_sock,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment