Skip to content

Commit

Permalink
refactor: remove ENABLE_ORDER_RECEIPTS (#2964)
Browse files Browse the repository at this point in the history
* refactor: remove ENABLE_ORDER_RECEIPTS

* fix: linting

* fix: fix test

* refactor: fix ruff warnings

* refactor: update app.jsonm
  • Loading branch information
asadali145 committed May 7, 2024
1 parent b9df0ed commit d9435ac
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 41 deletions.
4 changes: 0 additions & 4 deletions app.json
Expand Up @@ -214,10 +214,6 @@
"description": "Timeout (in seconds) for requests made via the edX API client",
"required": false
},
"ENABLE_ORDER_RECEIPTS": {
"description": "Enable enrollment order receipts.",
"required": false
},
"ENROLLMENT_CHANGE_SHEET_ID": {
"description": "ID of the Google Sheet that contains the enrollment change request worksheets (refunds, transfers, etc)",
"required": false
Expand Down
2 changes: 0 additions & 2 deletions courses/serializers.py
Expand Up @@ -475,7 +475,6 @@ def get_receipt(self, enrollment):
enrollment.order_id
if enrollment.order
and enrollment.order.status == enrollment.order.FULFILLED
and settings.ENABLE_ORDER_RECEIPTS
else None
)

Expand Down Expand Up @@ -523,7 +522,6 @@ def get_receipt(self, enrollment):
enrollment.order_id
if enrollment.order
and enrollment.order.status == enrollment.order.FULFILLED
and settings.ENABLE_ORDER_RECEIPTS
else None
)

Expand Down
18 changes: 8 additions & 10 deletions courses/serializers_test.py
Expand Up @@ -358,12 +358,11 @@ def test_serialize_course_run_detail():


@pytest.mark.parametrize(
"has_company, receipts_enabled", # noqa: PT006
[[True, False], [False, False], [False, True], [True, True]], # noqa: PT007
"has_company",
[True, False],
)
def test_serialize_course_run_enrollments(settings, has_company, receipts_enabled):
def test_serialize_course_run_enrollments(settings, has_company):
"""Test that CourseRunEnrollmentSerializer has correct data"""
settings.ENABLE_ORDER_RECEIPTS = receipts_enabled
course_run_enrollment = CourseRunEnrollmentFactory.create(
has_company_affiliation=has_company
)
Expand All @@ -377,7 +376,7 @@ def test_serialize_course_run_enrollments(settings, has_company, receipts_enable
),
"certificate": None,
"receipt": course_run_enrollment.order_id
if course_run_enrollment.order.status == Order.FULFILLED and receipts_enabled
if course_run_enrollment.order.status == Order.FULFILLED
else None,
}

Expand All @@ -390,12 +389,11 @@ def test_serialize_program_enrollments_assert():


@pytest.mark.parametrize(
"has_company, receipts_enabled", # noqa: PT006
[[True, False], [False, False], [False, True], [True, True]], # noqa: PT007
"has_company",
[True, False],
)
def test_serialize_program_enrollments(settings, has_company, receipts_enabled):
def test_serialize_program_enrollments(settings, has_company):
"""Test that ProgramEnrollmentSerializer has correct data"""
settings.ENABLE_ORDER_RECEIPTS = receipts_enabled
program = ProgramFactory.create()
course_run_enrollments = CourseRunEnrollmentFactory.create_batch(
3,
Expand All @@ -421,6 +419,6 @@ def test_serialize_program_enrollments(settings, has_company, receipts_enabled):
).data,
"certificate": None,
"receipt": program_enrollment.order_id
if program_enrollment.order.status == Order.FULFILLED and receipts_enabled
if program_enrollment.order.status == Order.FULFILLED
else None,
}
7 changes: 3 additions & 4 deletions ecommerce/api.py
Expand Up @@ -1418,10 +1418,9 @@ def fulfill_order(request_data):

if order.status == Order.FULFILLED:
complete_order(order)
if settings.ENABLE_ORDER_RECEIPTS:
send_ecommerce_order_receipt(
order=order, cyber_source_provided_email=req_bill_to_email
)
send_ecommerce_order_receipt(
order=order, cyber_source_provided_email=req_bill_to_email
)

# Save to log everything to an audit table including enrollments created in complete_order
order.save_and_log(None)
Expand Down
5 changes: 1 addition & 4 deletions ecommerce/views.py
Expand Up @@ -223,8 +223,7 @@ def post(

# This redirects the user to our order success page
url = receipt_url
if settings.ENABLE_ORDER_RECEIPTS:
send_ecommerce_order_receipt(order)
send_ecommerce_order_receipt(order)
method = "GET"
else:
# This generates a signed payload which is submitted as an HTML form to CyberSource
Expand Down Expand Up @@ -289,8 +288,6 @@ def get_queryset(self):

def get(self, request, *args, **kwargs):
"""Return a 404 for all requests if the feature is not enabled"""
if not settings.ENABLE_ORDER_RECEIPTS:
raise Http404
return self.retrieve(request, *args, **kwargs)


Expand Down
16 changes: 5 additions & 11 deletions ecommerce/views_test.py
Expand Up @@ -435,21 +435,15 @@ def test_get_basket(basket_client, basket_and_coupons, mock_context, mocker):


@pytest.mark.parametrize(
"receipts_enabled, order_status, expected_status_code", # noqa: PT006
("order_status", "expected_status_code"),
[
[True, Order.FULFILLED, status.HTTP_200_OK], # noqa: PT007
[True, Order.CREATED, status.HTTP_404_NOT_FOUND], # noqa: PT007
[True, Order.REFUNDED, status.HTTP_404_NOT_FOUND], # noqa: PT007
[False, Order.FULFILLED, status.HTTP_404_NOT_FOUND], # noqa: PT007
[False, Order.CREATED, status.HTTP_404_NOT_FOUND], # noqa: PT007
[False, Order.REFUNDED, status.HTTP_404_NOT_FOUND], # noqa: PT007
(Order.FULFILLED, status.HTTP_200_OK),
(Order.CREATED, status.HTTP_404_NOT_FOUND),
(Order.REFUNDED, status.HTTP_404_NOT_FOUND),
],
)
def test_get_order_configuration( # noqa: PLR0913
settings, user, user_client, receipts_enabled, order_status, expected_status_code
):
def test_get_order_configuration(user, user_client, order_status, expected_status_code):
"""Test the view that handles order receipts functions as expected"""
settings.ENABLE_ORDER_RECEIPTS = receipts_enabled
line = LineFactory.create(order__status=order_status, order__purchaser=user)
resp = user_client.get(reverse("order_receipt_api", kwargs={"pk": line.order.id}))
assert resp.status_code == expected_status_code
Expand Down
6 changes: 0 additions & 6 deletions mitxpro/settings.py
Expand Up @@ -1137,12 +1137,6 @@
description="Additional sanctions lists to validate for exports. Refer to Cybersource docs.",
)

ENABLE_ORDER_RECEIPTS = get_bool(
name="ENABLE_ORDER_RECEIPTS",
default=False,
description="Enable enrollment order receipts.",
)

# Voucher keys for PDF parsing
VOUCHER_DOMESTIC_EMPLOYEE_KEY = get_string(
name="VOUCHER_DOMESTIC_EMPLOYEE_KEY",
Expand Down

0 comments on commit d9435ac

Please sign in to comment.