fix: safe wrapper for no program banner image
This commit is contained in:
committed by
leangseu-edx
parent
56961ce0e6
commit
27006febcd
@@ -345,7 +345,7 @@ class EntitlementSerializer(serializers.Serializer):
|
||||
class RelatedProgramSerializer(serializers.Serializer):
|
||||
"""Related programs information"""
|
||||
|
||||
bannerImgSrc = serializers.URLField(source="banner_image.small.url")
|
||||
bannerImgSrc = serializers.URLField(source="banner_image.small.url", default=None)
|
||||
logoImgSrc = serializers.SerializerMethodField()
|
||||
numberOfCourses = serializers.SerializerMethodField()
|
||||
programType = serializers.CharField(source="type")
|
||||
|
||||
@@ -752,6 +752,23 @@ class TestProgramsSerializer(TestCase):
|
||||
},
|
||||
)
|
||||
|
||||
def test_empty_source_programs_serializer(self):
|
||||
"""Test the ProgramsSerializer with empty data"""
|
||||
# Given a program with empty test data
|
||||
input_data = self.generate_test_related_program()
|
||||
|
||||
input_data["banner_image"] = None
|
||||
input_data["title"] = None
|
||||
input_data["type"] = None
|
||||
|
||||
# When I serialize the program
|
||||
output_data = RelatedProgramSerializer(input_data).data
|
||||
|
||||
# Test the output
|
||||
self.assertEqual(
|
||||
output_data['bannerImgSrc'], None
|
||||
)
|
||||
|
||||
def test_empty_sessions(self):
|
||||
input_data = {"relatedPrograms": []}
|
||||
output_data = ProgramsSerializer(input_data).data
|
||||
|
||||
Reference in New Issue
Block a user