Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions lms/djangoapps/course_api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,12 @@ def get_blocks_url(self, course_overview):
])
return self.context['request'].build_absolute_uri(base_url)

def to_representation(self, instance):
response = super().to_representation(instance)
if can_show_certificate_available_date_field(instance):
response['certificate_available_date'] = instance.certificate_available_date
return response


class CourseDetailSerializer(CourseSerializer): # pylint: disable=abstract-method
"""
Expand Down
25 changes: 25 additions & 0 deletions lms/djangoapps/course_api/tests/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,31 @@ def test_pacing(self, self_paced, expected_pacing):
result = self._get_result(course)
assert result['pacing'] == expected_pacing

def test_certificate_available_date_included(self):
"""Test that certificate_available_date is included when the field should be shown."""
course = self.create_course()
with mock.patch(
"lms.djangoapps.course_api.serializers.can_show_certificate_available_date_field",
return_value=True,
):
result = self._get_result(course)
assert 'certificate_available_date' in result
actual = result['certificate_available_date']
if isinstance(actual, datetime):
assert actual.strftime('%Y-%m-%dT%H:%M:%SZ') == '2015-08-14T00:00:00Z'
else:
assert actual == '2015-08-14T00:00:00Z'

def test_certificate_available_date_excluded(self):
"""Test that certificate_available_date is excluded when the field should not be shown."""
course = self.create_course()
with mock.patch(
"lms.djangoapps.course_api.serializers.can_show_certificate_available_date_field",
return_value=False,
):
result = self._get_result(course)
assert 'certificate_available_date' not in result


class TestCourseDetailSerializer(TestCourseSerializer): # pylint: disable=test-inherits-tests
"""
Expand Down
Loading