Merge pull request #18470 from edx/zub/ENT-1052-discount-by-enterprise-catalog
ENT-1052 discount by enterprise catalog
This commit is contained in:
@@ -145,6 +145,38 @@ class EcommerceServiceTests(TestCase):
|
||||
)
|
||||
self.assertEqual(url, expected_url)
|
||||
|
||||
@override_settings(ECOMMERCE_PUBLIC_URL_ROOT='http://ecommerce_url')
|
||||
@ddt.data(
|
||||
{
|
||||
'skus': ['TESTSKU'],
|
||||
'enterprise_catalog_uuid': None
|
||||
},
|
||||
{
|
||||
'skus': ['TESTSKU'],
|
||||
'enterprise_catalog_uuid': '6eca3efb-f3a0-4c08-806f-c6e6b65d61cb'
|
||||
},
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_get_checkout_page_url_with_enterprise_catalog_uuid(self, skus, enterprise_catalog_uuid):
|
||||
""" Verify the checkout page URL is properly constructed and returned. """
|
||||
url = EcommerceService().get_checkout_page_url(
|
||||
*skus,
|
||||
enterprise_customer_catalog_uuid=enterprise_catalog_uuid
|
||||
)
|
||||
config = CommerceConfiguration.current()
|
||||
|
||||
query = {'sku': skus}
|
||||
if enterprise_catalog_uuid:
|
||||
query.update({'enterprise_customer_catalog_uuid': enterprise_catalog_uuid})
|
||||
|
||||
expected_url = '{root}{basket_url}?{skus}'.format(
|
||||
basket_url=config.basket_checkout_page,
|
||||
root=settings.ECOMMERCE_PUBLIC_URL_ROOT,
|
||||
skus=urlencode(query, doseq=True),
|
||||
)
|
||||
|
||||
self.assertEqual(url, expected_url)
|
||||
|
||||
|
||||
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
|
||||
class RefundUtilMethodTests(ModuleStoreTestCase):
|
||||
|
||||
@@ -111,9 +111,14 @@ class EcommerceService(object):
|
||||
http://localhost:8002/basket/add/?sku=5H3HG5&sku=57FHHD&bundle=3bdf1dd1-49be-4a15-9145-38901f578c5a
|
||||
"""
|
||||
program_uuid = kwargs.get('program_uuid')
|
||||
url = '{checkout_page_path}?{skus}'.format(
|
||||
enterprise_catalog_uuid = kwargs.get('enterprise_customer_catalog_uuid')
|
||||
query_params = {'sku': skus}
|
||||
if enterprise_catalog_uuid:
|
||||
query_params.update({'enterprise_customer_catalog_uuid': enterprise_catalog_uuid})
|
||||
|
||||
url = '{checkout_page_path}?{query_params}'.format(
|
||||
checkout_page_path=self.get_absolute_ecommerce_url(self.config.basket_checkout_page),
|
||||
skus=urlencode({'sku': skus}, doseq=True),
|
||||
query_params=urlencode(query_params, doseq=True),
|
||||
)
|
||||
if program_uuid:
|
||||
url = '{url}&bundle={program_uuid}'.format(
|
||||
|
||||
@@ -518,7 +518,10 @@ class PayAndVerifyView(View):
|
||||
# is enabled redirect him to the ecommerce checkout page.
|
||||
ecommerce_service = EcommerceService()
|
||||
if ecommerce_service.is_enabled(user):
|
||||
url = ecommerce_service.get_checkout_page_url(sku)
|
||||
url = ecommerce_service.get_checkout_page_url(
|
||||
sku,
|
||||
enterprise_customer_catalog_uuid=self.request.GET.get('enterprise_customer_catalog_uuid')
|
||||
)
|
||||
|
||||
# Redirect if necessary, otherwise implicitly return None
|
||||
if url is not None:
|
||||
|
||||
@@ -116,7 +116,7 @@ edx-django-oauth2-provider==1.2.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-drf-extensions==1.5.2
|
||||
edx-enterprise==0.70.1
|
||||
edx-enterprise==0.70.3
|
||||
edx-i18n-tools==0.4.5
|
||||
edx-milestones==0.1.13
|
||||
edx-oauth2-provider==1.2.2
|
||||
|
||||
@@ -136,7 +136,7 @@ edx-django-oauth2-provider==1.2.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-drf-extensions==1.5.2
|
||||
edx-enterprise==0.70.1
|
||||
edx-enterprise==0.70.3
|
||||
edx-i18n-tools==0.4.5
|
||||
edx-lint==0.5.5
|
||||
edx-milestones==0.1.13
|
||||
|
||||
@@ -131,7 +131,7 @@ edx-django-oauth2-provider==1.2.5
|
||||
edx-django-release-util==0.3.1
|
||||
edx-django-sites-extensions==2.3.1
|
||||
edx-drf-extensions==1.5.2
|
||||
edx-enterprise==0.70.1
|
||||
edx-enterprise==0.70.3
|
||||
edx-i18n-tools==0.4.5
|
||||
edx-lint==0.5.5
|
||||
edx-milestones==0.1.13
|
||||
|
||||
Reference in New Issue
Block a user