Commit 19496aef by Ahsan Ulhaq Committed by GitHub

Merge pull request #13663 from edx/ahsan/ECOM-4763-update-log-messages

update error messages in enrollment API
parents 39a461d8 21746f1e
......@@ -92,15 +92,15 @@ class EnrollmentTestMixin(object):
if expected_status == status.HTTP_200_OK:
data = json.loads(response.content)
self.assertEqual(course_id, data['course_details']['course_id'])
self.assertEqual(course_id, data['enrollment_detail']['course_details']['course_id'])
if mode is not None:
self.assertEqual(mode, data['mode'])
self.assertEqual(mode, data['enrollment_detail']['mode'])
if is_active is not None:
self.assertEqual(is_active, data['is_active'])
self.assertEqual(is_active, data['enrollment_detail']['is_active'])
else:
self.assertTrue(data['is_active'])
self.assertTrue(data['enrollment_detail']['is_active'])
if as_server:
# Verify that an audit message was logged.
......@@ -503,7 +503,11 @@ class EnrollmentTest(EnrollmentTestMixin, ModuleStoreTestCase, APITestCase):
def test_enrollment_already_enrolled(self):
response = self.assert_enrollment_status()
repeat_response = self.assert_enrollment_status(expected_status=status.HTTP_200_OK)
self.assertEqual(json.loads(response.content), json.loads(repeat_response.content))
response_enrollment_detail = json.loads(response.content)
repeat_response_enrollment_detail = json.loads(repeat_response.content)
self.assertEqual(
response_enrollment_detail['enrollment_detail'], repeat_response_enrollment_detail['enrollment_detail']
)
def test_get_enrollment_with_invalid_key(self):
resp = self.client.post(
......
......@@ -600,7 +600,7 @@ class EnrollmentListView(APIView, ApiKeyPermissionMixIn):
log.warning(msg)
return Response(status=status.HTTP_400_BAD_REQUEST, data={"message": msg})
response = api.update_enrollment(
enrollment_detail = api.update_enrollment(
username,
unicode(course_id),
mode=mode,
......@@ -609,20 +609,28 @@ class EnrollmentListView(APIView, ApiKeyPermissionMixIn):
)
else:
# Will reactivate inactive enrollments.
response = api.add_enrollment(username, unicode(course_id), mode=mode, is_active=is_active)
enrollment_detail = api.add_enrollment(username, unicode(course_id), mode=mode, is_active=is_active)
email_opt_in = request.data.get('email_opt_in', None)
if email_opt_in is not None:
org = course_id.org
update_email_opt_in(request.user, org, email_opt_in)
return Response(response)
return Response(
status=status.HTTP_200_OK,
data={
"message": (
u"The user [{username}] has already been enrolled in course run [{course_id}]."
).format(username=username, course_id=course_id),
"enrollment_detail": enrollment_detail
}
)
except CourseModeNotFoundError as error:
return Response(
status=status.HTTP_400_BAD_REQUEST,
data={
"message": (
u"The course mode '{mode}' is not available for course '{course_id}'."
u"The [{mode}] course mode is expired or otherwise unavailable for course run [{course_id}]."
).format(mode=mode, course_id=course_id),
"course_details": error.data
})
......@@ -634,7 +642,15 @@ class EnrollmentListView(APIView, ApiKeyPermissionMixIn):
}
)
except CourseEnrollmentExistsError as error:
return Response(data=error.enrollment)
return Response(
status=status.HTTP_200_OK,
data={
"message": (
u"An enrollment already exists for user [{username}] in course run [{course_id}]."
).format(username=username, course_id=course_id),
"enrollment_detail": error.enrollment
}
)
except CourseEnrollmentError:
return Response(
status=status.HTTP_400_BAD_REQUEST,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment