Skip to content

Commit

Permalink
ProgramSerializer should now return default image if there's no progr…
Browse files Browse the repository at this point in the history
…am page (#1750)
  • Loading branch information
jkachel authored Jul 14, 2023
1 parent 34a958b commit 97e4542
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 7 deletions.
9 changes: 4 additions & 5 deletions courses/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,13 +302,12 @@ def get_req_tree(self, instance):
return ProgramRequirementTreeSerializer(instance=req_root).data

def get_page(self, instance):
return (
ProgramPageSerializer(
if ProgramPage.objects.filter(program=instance).exists():
return ProgramPageSerializer(
instance=ProgramPage.objects.filter(program=instance).get()
).data
if ProgramPage.objects.filter(program=instance).exists()
else None
)
else:
return {"feature_image_src": _get_thumbnail_url(None)}

class Meta:
model = models.Program
Expand Down
8 changes: 8 additions & 0 deletions courses/serializers_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -616,3 +616,11 @@ def test_learner_record_serializer(mock_context, program_with_empty_requirements
assert user_info_payload == serialized_data["user"]
assert program_requirements_payload == serialized_data["program"]["requirements"]
assert course_0_payload == serialized_data["program"]["courses"][0]


def test_program_serializer_returns_default_image():
"""If the program has no page, we should still get a featured_image_url."""

program = ProgramFactory.create(page=None)

assert "feature_image_src" in ProgramSerializer(program).data["page"]
2 changes: 0 additions & 2 deletions courses/views/v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
PartnerSchool,
Program,
ProgramEnrollment,
ProgramRequirement,
ProgramRequirementNodeType,
)
from courses.serializers import (
CourseRunEnrollmentSerializer,
Expand Down

0 comments on commit 97e4542

Please sign in to comment.