Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
edx-platform-release
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hsin-Yu Chien
edx-platform-release
Commits
94b68008
Commit
94b68008
authored
6 years ago
by
Christie Rice
Browse files
Options
Downloads
Patches
Plain Diff
REVEM-246 Use existing method to get basket page URL
parent
8ecf6d68
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
lms/djangoapps/experiments/tests/test_utils.py
+1
-35
1 addition, 35 deletions
lms/djangoapps/experiments/tests/test_utils.py
lms/djangoapps/experiments/utils.py
+3
-21
3 additions, 21 deletions
lms/djangoapps/experiments/utils.py
with
4 additions
and
56 deletions
lms/djangoapps/experiments/tests/test_utils.py
+
1
−
35
View file @
94b68008
...
...
@@ -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
)
...
...
This diff is collapsed.
Click to expand it.
lms/djangoapps/experiments/utils.py
+
3
−
21
View file @
94b68008
...
...
@@ -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
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment