Skip to content
Snippets Groups Projects
Unverified Commit d5df04fc authored by Zubair Afzal's avatar Zubair Afzal Committed by GitHub
Browse files

Merge pull request #18470 from edx/zub/ENT-1052-discount-by-enterprise-catalog

ENT-1052 discount by enterprise catalog
parents a95a2b91 bbdcf6de
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment