diff --git a/courses/api.py b/courses/api.py index 3d52d91e3..d63ef7bd1 100644 --- a/courses/api.py +++ b/courses/api.py @@ -154,7 +154,6 @@ def create_run_enrollments( else: successful_enrollments.append(enrollment) if enrollment.edx_enrolled: - mail_api.send_course_run_enrollment_email(enrollment) mail_api.send_course_run_enrollment_welcome_email(enrollment) return successful_enrollments, edx_request_success diff --git a/courses/api_test.py b/courses/api_test.py index 2bbbee708..52199620c 100644 --- a/courses/api_test.py +++ b/courses/api_test.py @@ -138,15 +138,15 @@ def test_create_run_enrollments(mocker, user): active=False, ) patched_edx_enroll = mocker.patch("courses.api.enroll_in_edx_course_runs") - patched_send_enrollment_email = mocker.patch( - "courses.api.mail_api.send_course_run_enrollment_email" + patched_send_enrollment_welcome_email = mocker.patch( + "courses.api.mail_api.send_course_run_enrollment_welcome_email" ) successful_enrollments, edx_request_success = create_run_enrollments( user, runs, order=order, company=company ) patched_edx_enroll.assert_called_once_with(user, runs) - assert patched_send_enrollment_email.call_count == num_runs + assert patched_send_enrollment_welcome_email.call_count == num_runs assert edx_request_success is True assert len(successful_enrollments) == num_runs enrollments = CourseRunEnrollment.objects.order_by("run__id").all() @@ -155,7 +155,7 @@ def test_create_run_enrollments(mocker, user): assert enrollment.active is True assert enrollment.edx_enrolled is True assert enrollment.run == run - patched_send_enrollment_email.assert_any_call(enrollment) + patched_send_enrollment_welcome_email.assert_any_call(enrollment) @pytest.mark.django_db @@ -172,8 +172,8 @@ def test_create_run_enrollments_api_fail(mocker, user, exception_cls): "courses.api.enroll_in_edx_course_runs", side_effect=exception_cls ) patched_log_exception = mocker.patch("courses.api.log.exception") - patched_send_enrollment_email = mocker.patch( - "courses.api.mail_api.send_course_run_enrollment_email" + patched_send_enrollment_welcome_email = mocker.patch( + "courses.api.mail_api.send_course_run_enrollment_welcome_email" ) run = CourseRunFactory.create() successful_enrollments, edx_request_success = create_run_enrollments( @@ -185,7 +185,7 @@ def test_create_run_enrollments_api_fail(mocker, user, exception_cls): ) patched_edx_enroll.assert_called_once_with(user, [run]) patched_log_exception.assert_called_once() - patched_send_enrollment_email.assert_not_called() + patched_send_enrollment_welcome_email.assert_not_called() assert len(successful_enrollments) == 1 assert edx_request_success is False @@ -217,8 +217,8 @@ def test_create_run_enrollments_enroll_api_fail( side_effect=exception_cls(user, runs[2], inner_exception), ) patched_log_exception = mocker.patch("courses.api.log.exception") - patched_send_enrollment_email = mocker.patch( - "courses.api.mail_api.send_course_run_enrollment_email" + patched_send_enrollment_welcome_email = mocker.patch( + "courses.api.mail_api.send_course_run_enrollment_welcome_email" ) successful_enrollments = [] edx_request_success = False @@ -240,7 +240,7 @@ def test_create_run_enrollments_enroll_api_fail( patched_log_exception.assert_called_once() else: patched_log_exception.assert_not_called() - patched_send_enrollment_email.assert_not_called() + patched_send_enrollment_welcome_email.assert_not_called() expected_enrollments = 0 if not keep_failed_enrollments else num_runs assert len(successful_enrollments) == expected_enrollments assert edx_request_success is False @@ -267,7 +267,7 @@ def test_create_run_enrollments_creation_fail(mocker, user): ) patched_edx_enroll.assert_called_once_with(user, runs) patched_log_exception.assert_called_once() - patched_mail_api.send_course_run_enrollment_email.assert_not_called() + patched_mail_api.send_course_run_enrollment_welcome_email.assert_not_called() patched_mail_api.send_enrollment_failure_message.assert_called_once() assert successful_enrollments == [enrollment] assert edx_request_success is True diff --git a/courses/management/utils.py b/courses/management/utils.py index b6de101bf..aa1143b68 100644 --- a/courses/management/utils.py +++ b/courses/management/utils.py @@ -215,7 +215,6 @@ def create_run_enrollment( if enrolled_in_edx: run_enrollment.edx_enrolled = True run_enrollment.save_and_log(None) - mail_api.send_course_run_enrollment_email(run_enrollment) mail_api.send_course_run_enrollment_welcome_email(run_enrollment) elif not keep_failed_enrollments: if created: diff --git a/ecommerce/api_test.py b/ecommerce/api_test.py index 961d062b5..8633ee1f7 100644 --- a/ecommerce/api_test.py +++ b/ecommerce/api_test.py @@ -1281,7 +1281,7 @@ def test_enroll_user_in_order_items(mocker, user, has_redemption): """ patched_enroll = mocker.patch("courses.api.enroll_in_edx_course_runs") patched_send_email = mocker.patch( - "ecommerce.mail_api.send_course_run_enrollment_email" + "ecommerce.mail_api.send_course_run_enrollment_welcome_email" ) program = ProgramFactory.create() runs = CourseRunFactory.create_batch(2, course__program=program) diff --git a/ecommerce/mail_api.py b/ecommerce/mail_api.py index b231b5666..6368b6f1a 100644 --- a/ecommerce/mail_api.py +++ b/ecommerce/mail_api.py @@ -16,7 +16,6 @@ from mail.constants import ( EMAIL_B2B_RECEIPT, EMAIL_BULK_ENROLL, - EMAIL_COURSE_RUN_ENROLLMENT, EMAIL_COURSE_RUN_UNENROLLMENT, EMAIL_PRODUCT_ORDER_RECEIPT, EMAIL_WELCOME_COURSE_RUN_ENROLLMENT, @@ -151,28 +150,6 @@ def send_bulk_enroll_emails(bulk_assignment_id, product_coupon_assignments): ) -def send_course_run_enrollment_email(enrollment): - """ - Notify the user of successful enrollment for a course run - - Args: - enrollment (CourseRunEnrollment): the enrollment for which to send the email - """ - try: - user = enrollment.user - api.send_message( - api.message_for_recipient( - user.email, - api.context_for_user( - user=user, extra_context={"enrollment": enrollment} - ), - EMAIL_COURSE_RUN_ENROLLMENT, - ) - ) - except: # noqa: E722 - log.exception("Error sending enrollment success email") - - def send_course_run_unenrollment_email(enrollment): """ Notify the user of successful unenrollment for a course run diff --git a/ecommerce/mail_api_test.py b/ecommerce/mail_api_test.py index abe93d902..e46a0764a 100644 --- a/ecommerce/mail_api_test.py +++ b/ecommerce/mail_api_test.py @@ -31,7 +31,6 @@ ENROLL_ERROR_EMAIL_SUBJECT, send_b2b_receipt_email, send_bulk_enroll_emails, - send_course_run_enrollment_email, send_course_run_enrollment_welcome_email, send_ecommerce_order_receipt, send_enrollment_failure_message, @@ -41,7 +40,6 @@ from mail.constants import ( EMAIL_B2B_RECEIPT, EMAIL_BULK_ENROLL, - EMAIL_COURSE_RUN_ENROLLMENT, EMAIL_PRODUCT_ORDER_RECEIPT, EMAIL_WELCOME_COURSE_RUN_ENROLLMENT, ) @@ -114,40 +112,6 @@ def test_send_bulk_enroll_emails(mocker, settings): ) -def test_send_course_run_enrollment_email(mocker): - """send_course_run_enrollment_email should send an email for the given enrollment""" - patched_mail_api = mocker.patch("ecommerce.mail_api.api") - enrollment = CourseRunEnrollmentFactory.create() - - send_course_run_enrollment_email(enrollment) - - patched_mail_api.context_for_user.assert_called_once_with( - user=enrollment.user, extra_context={"enrollment": enrollment} - ) - patched_mail_api.message_for_recipient.assert_called_once_with( - enrollment.user.email, - patched_mail_api.context_for_user.return_value, - EMAIL_COURSE_RUN_ENROLLMENT, - ) - patched_mail_api.send_message.assert_called_once_with( - patched_mail_api.message_for_recipient.return_value - ) - - -def test_send_course_run_enrollment_email_error(mocker): - """send_course_run_enrollment_email handle and log errors""" - patched_mail_api = mocker.patch("ecommerce.mail_api.api") - patched_log = mocker.patch("ecommerce.mail_api.log") - patched_mail_api.send_message.side_effect = Exception("error") - enrollment = CourseRunEnrollmentFactory.create() - - send_course_run_enrollment_email(enrollment) - - patched_log.exception.assert_called_once_with( - "Error sending enrollment success email" - ) - - @pytest.mark.parametrize("enabled", [True, False]) def test_send_course_run_enrollment_welcome_email(settings, mocker, enabled): """send_course_run_enrollment_welcome_email should send a welcome email for the given enrollment""" diff --git a/mail/constants.py b/mail/constants.py index 6832c2661..cc78d0d90 100644 --- a/mail/constants.py +++ b/mail/constants.py @@ -3,7 +3,6 @@ EMAIL_VERIFICATION = "verification" EMAIL_PW_RESET = "password_reset" EMAIL_BULK_ENROLL = "bulk_enroll" -EMAIL_COURSE_RUN_ENROLLMENT = "course_run_enrollment" EMAIL_COURSE_RUN_UNENROLLMENT = "course_run_unenrollment" EMAIL_B2B_RECEIPT = "b2b_receipt" EMAIL_PRODUCT_ORDER_RECEIPT = "product_order_receipt" @@ -14,7 +13,6 @@ EMAIL_VERIFICATION: "Verify Email", EMAIL_PW_RESET: "Password Reset", EMAIL_BULK_ENROLL: "Bulk Enrollment", - EMAIL_COURSE_RUN_ENROLLMENT: "Course Run Enrollment", EMAIL_B2B_RECEIPT: "Enrollment Code Purchase Receipt", EMAIL_CHANGE_EMAIL: "Change Email", EMAIL_WELCOME_COURSE_RUN_ENROLLMENT: "Welcome Course Run Enrollment", diff --git a/mail/templates/course_run_enrollment/body.html b/mail/templates/course_run_enrollment/body.html deleted file mode 100644 index c8bcc4033..000000000 --- a/mail/templates/course_run_enrollment/body.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends "email_base.html" %} - -{% block content %} - - - - - - - -
-

- Dear - {{ user.name }}, -

-

- You have been enrolled in - {{ enrollment.run }}. The course should now appear on your - {{ site_name }} - dashboard. -

-
- - - -{% endblock %} diff --git a/mail/templates/course_run_enrollment/subject.txt b/mail/templates/course_run_enrollment/subject.txt deleted file mode 100644 index 66980b982..000000000 --- a/mail/templates/course_run_enrollment/subject.txt +++ /dev/null @@ -1 +0,0 @@ -You have been enrolled in {{ enrollment.run }} diff --git a/mail/templates/welcome_course_run_enrollment/body.html b/mail/templates/welcome_course_run_enrollment/body.html index 9c4d17a7b..707d8b5c0 100644 --- a/mail/templates/welcome_course_run_enrollment/body.html +++ b/mail/templates/welcome_course_run_enrollment/body.html @@ -68,7 +68,11 @@ expect to gain access to the course materials and platform on the scheduled start date. You will not be able to access any of the course content before the start date and time. To log in and start - your course, visit your MIT xPRO account dashboard. + your course, visit your + {{ site_name }} + account dashboard.

In-Course Support: