diff --git a/common/djangoapps/util/tests/test_submit_feedback.py b/common/djangoapps/util/tests/test_submit_feedback.py index f3969a7b55..811fbd550a 100644 --- a/common/djangoapps/util/tests/test_submit_feedback.py +++ b/common/djangoapps/util/tests/test_submit_feedback.py @@ -264,13 +264,16 @@ class SubmitFeedbackTest(TestCase): zendesk_mock_instance.create_ticket.return_value = 42 fields = self._anon_fields.copy() + if course_id is not None: + fields["course_id"] = course_id expected_zendesk_tags = None expected_datadog_tags = None - if course_id is not None: - fields["course_id"] = course_id + expected_custom_fields = None + if course_id: expected_zendesk_tags = [course_id, "test_issue", "LMS"] expected_datadog_tags = ["course_id:{}".format(course_id), "issue_type:test_issue"] + expected_custom_fields = [{"id": 1234, "value": fields["course_id"]}] else: expected_zendesk_tags = ["test_issue", "LMS"] expected_datadog_tags = ["issue_type:test_issue"] @@ -285,6 +288,9 @@ class SubmitFeedbackTest(TestCase): } } + if expected_custom_fields: + expected_create_ticket_request["ticket"]["custom_fields"] = expected_custom_fields + expected_update_ticket_request = { "ticket": { "comment": { @@ -299,10 +305,6 @@ class SubmitFeedbackTest(TestCase): } } - if fields.get("course_id"): - expected_custom_fields = [{"id": 1234, "value": fields["course_id"]}] - expected_create_ticket_request["ticket"]["custom_fields"] = expected_custom_fields - self._test_success(self._anon_user, fields) expected_zendesk_calls = [ mock.call.create_ticket(expected_create_ticket_request), @@ -386,13 +388,24 @@ class SubmitFeedbackTest(TestCase): zendesk_mock_instance.create_ticket.return_value = 42 fields = self._auth_fields.copy() + if course_id is not None: + fields["course_id"] = course_id expected_zendesk_tags = None expected_datadog_tags = None - if course_id is not None: - fields["course_id"] = course_id + expected_custom_fields = None + if course_id: expected_zendesk_tags = [course_id, "LMS"] expected_datadog_tags = ["course_id:{}".format(course_id)] + expected_custom_fields = [{"id": 1234, "value": course_id}] + if enrollment_state is not None: + enrollment = CourseEnrollmentFactory.create( + user=self._auth_user, + course_id=course_id, + is_active=enrollment_state + ) + if enrollment.is_active: + expected_custom_fields.append({"id": 5678, "value": enrollment.mode}) else: expected_zendesk_tags = ["LMS"] expected_datadog_tags = [] @@ -407,6 +420,9 @@ class SubmitFeedbackTest(TestCase): } } + if expected_custom_fields: + expected_create_ticket_request["ticket"]["custom_fields"] = expected_custom_fields + expected_update_ticket_request = { "ticket": { "comment": { @@ -422,18 +438,6 @@ class SubmitFeedbackTest(TestCase): } } - if fields.get("course_id"): - expected_custom_fields = [{"id": 1234, "value": fields["course_id"]}] - if enrollment_state is not None: - enrollment = CourseEnrollmentFactory.create( - user=self._auth_user, - course_id=course_id, - is_active=enrollment_state - ) - if enrollment.is_active: - expected_custom_fields.append({"id": 5678, "value": enrollment.mode}) - expected_create_ticket_request["ticket"]["custom_fields"] = expected_custom_fields - self._test_success(self._auth_user, fields) expected_zendesk_calls = [ mock.call.create_ticket(expected_create_ticket_request), diff --git a/common/djangoapps/util/views.py b/common/djangoapps/util/views.py index c5560fedea..2c7045b540 100644 --- a/common/djangoapps/util/views.py +++ b/common/djangoapps/util/views.py @@ -364,7 +364,7 @@ def get_feedback_form_context(request): context["subject"] = request.POST["subject"] context["details"] = request.POST["details"] context["tags"] = dict( - [(tag, request.POST[tag]) for tag in ["issue_type", "course_id"] if tag in request.POST] + [(tag, request.POST[tag]) for tag in ["issue_type", "course_id"] if request.POST.get(tag)] ) context["additional_info"] = {}