REVEM-246 Use existing method to get basket page URL
This commit is contained in:
@@ -4,7 +4,7 @@ Tests of experiment functionality
|
||||
from decimal import Decimal
|
||||
from unittest import TestCase
|
||||
from lms.djangoapps.experiments.utils import get_course_entitlement_price_and_sku, get_program_price_and_skus, \
|
||||
get_program_purchase_url, get_unenrolled_courses, is_enrolled_in_course_run
|
||||
get_unenrolled_courses, is_enrolled_in_course_run
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
|
||||
@@ -42,40 +42,6 @@ class ExperimentUtilsTests(TestCase):
|
||||
enrollment_ids = {CourseKey.from_string('course-v1:DelftX+NGIx+RA0')}
|
||||
self.assertFalse(is_enrolled_in_course_run(course_run, enrollment_ids))
|
||||
|
||||
def test_program_url_with_no_skus(self):
|
||||
url = get_program_purchase_url(None)
|
||||
self.assertEqual(None, url)
|
||||
|
||||
def test_program_url_with_no_skus_and_no_bundle(self):
|
||||
url = get_program_purchase_url(None, None)
|
||||
self.assertEqual(None, url)
|
||||
|
||||
def test_program_url_with_single_sku(self):
|
||||
skus = ['9FE0DE2']
|
||||
expected_url = 'https://ecommerce.edx.org/basket/add/?sku=9FE0DE2'
|
||||
url = get_program_purchase_url(skus)
|
||||
self.assertEqual(expected_url, url)
|
||||
|
||||
def test_program_url_with_single_sku_and_bundle(self):
|
||||
skus = ['9FE0DE2']
|
||||
program_id = 'bef7201a-6f97-40ad-ad17-d5ea8be1eec8'
|
||||
expected_url = 'https://ecommerce.edx.org/basket/add/?sku=9FE0DE2&bundle=' + program_id
|
||||
url = get_program_purchase_url(skus, program_id)
|
||||
self.assertEqual(expected_url, url)
|
||||
|
||||
def test_program_url_with_multiple_skus(self):
|
||||
skus = ['9FE0DE2', 'B37EBA0', 'FDCED11']
|
||||
expected_url = 'https://ecommerce.edx.org/basket/add/?sku=9FE0DE2&sku=B37EBA0&sku=FDCED11'
|
||||
url = get_program_purchase_url(skus)
|
||||
self.assertEqual(expected_url, url)
|
||||
|
||||
def test_program_url_with_multiple_skus_and_bundle(self):
|
||||
skus = ['9FE0DE2', 'B37EBA0', 'FDCED11']
|
||||
program_id = 'bef7201a-6f97-40ad-ad17-d5ea8be1eec8'
|
||||
expected_url = 'https://ecommerce.edx.org/basket/add/?sku=9FE0DE2&sku=B37EBA0&sku=FDCED11&bundle=' + program_id
|
||||
url = get_program_purchase_url(skus, program_id)
|
||||
self.assertEqual(expected_url, url)
|
||||
|
||||
def test_program_price_and_skus_for_empty_courses(self):
|
||||
price, skus = get_program_price_and_skus([])
|
||||
self.assertEqual(None, price)
|
||||
|
||||
@@ -9,6 +9,7 @@ from decimal import Decimal
|
||||
from student.models import CourseEnrollment
|
||||
from django_comment_common.models import Role
|
||||
from django.utils.timezone import now
|
||||
from lms.djangoapps.commerce.utils import EcommerceService
|
||||
from course_modes.models import get_cosmetic_verified_display_price, format_course_price
|
||||
from courseware.access import has_staff_access_to_preview_mode
|
||||
from courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid
|
||||
@@ -98,25 +99,6 @@ def check_and_get_upgrade_link_and_date(user, enrollment=None, course=None):
|
||||
|
||||
|
||||
# TODO: clean up as part of REVEM-199 (START)
|
||||
def get_program_purchase_url(skus, bundle_id=None):
|
||||
"""
|
||||
Return a url that will allow the purchase of the courses with these skus
|
||||
"""
|
||||
if not skus:
|
||||
return None
|
||||
|
||||
url = 'https://ecommerce.edx.org/basket/add/?'
|
||||
for sku in skus:
|
||||
url += 'sku=' + sku + '&'
|
||||
|
||||
if bundle_id:
|
||||
url += 'bundle=' + bundle_id
|
||||
else:
|
||||
# Remove trailing & from the skus
|
||||
url = url[:-1]
|
||||
return url
|
||||
|
||||
|
||||
def get_program_price_and_skus(courses):
|
||||
"""
|
||||
Get the total program price and purchase skus from these courses in the program
|
||||
@@ -272,8 +254,8 @@ def get_experiment_user_metadata_context(course, user):
|
||||
has_courses_left_to_purchase = True
|
||||
courses_left_to_purchase_price, courses_left_to_purchase_skus = get_program_price_and_skus(
|
||||
courses_left_to_purchase)
|
||||
courses_left_to_purchase_url = get_program_purchase_url(courses_left_to_purchase_skus,
|
||||
program_uuid)
|
||||
courses_left_to_purchase_url = EcommerceService().get_checkout_page_url(
|
||||
*courses_left_to_purchase_skus, program_uuid=program_uuid)
|
||||
|
||||
program_key = {
|
||||
'uuid': program_uuid,
|
||||
|
||||
Reference in New Issue
Block a user