Updates to use the is_anonymous flag of basket calculate
[LEARNER-4913]
This commit is contained in:
@@ -1516,6 +1516,7 @@ class TestProgramMarketingDataExtender(ModuleStoreTestCase):
|
||||
data = ProgramMarketingDataExtender(self.program, self.user).extend()
|
||||
self._update_discount_data(mock_discount_data)
|
||||
|
||||
self.assertEqual(httpretty.last_request().querystring.get('username')[0], self.user.username)
|
||||
self.assertEqual(
|
||||
data['skus'],
|
||||
[course['course_runs'][0]['seats'][0]['sku'] for course in self.program['courses']]
|
||||
@@ -1545,6 +1546,7 @@ class TestProgramMarketingDataExtender(ModuleStoreTestCase):
|
||||
data = ProgramMarketingDataExtender(self.program, user).extend()
|
||||
self._update_discount_data(mock_discount_data)
|
||||
|
||||
self.assertIsNotNone(httpretty.last_request().querystring.get('is_anonymous', None))
|
||||
self.assertEqual(
|
||||
data['skus'],
|
||||
[course['course_runs'][0]['seats'][0]['sku'] for course in self.program['courses']]
|
||||
|
||||
@@ -605,15 +605,20 @@ class ProgramDataExtender(object):
|
||||
if skus:
|
||||
try:
|
||||
api_user = self.user
|
||||
is_anonymous = False
|
||||
if not self.user.is_authenticated():
|
||||
user = get_user_model()
|
||||
service_user = user.objects.get(username=settings.ECOMMERCE_SERVICE_WORKER_USERNAME)
|
||||
api_user = service_user
|
||||
is_anonymous = True
|
||||
|
||||
api = ecommerce_api_client(api_user)
|
||||
|
||||
# Make an API call to calculate the discounted price
|
||||
discount_data = api.baskets.calculate.get(sku=skus)
|
||||
if is_anonymous:
|
||||
discount_data = api.baskets.calculate.get(sku=skus, is_anonymous=True)
|
||||
else:
|
||||
discount_data = api.baskets.calculate.get(sku=skus, username=self.user.username)
|
||||
|
||||
program_discounted_price = discount_data['total_incl_tax']
|
||||
program_full_price = discount_data['total_incl_tax_excl_discounts']
|
||||
|
||||
Reference in New Issue
Block a user