fix: don't urljoin empty string (#34516)

This commit is contained in:
Jansen Kantor
2024-04-16 11:30:15 -04:00
committed by GitHub
parent 1244a9f854
commit 8d8ff29d4c
2 changed files with 21 additions and 0 deletions

View File

@@ -268,6 +268,9 @@ class UploadedFileSerializer(serializers.Serializer):
"""
Get the representation for SerializerMethodField `downloadUrl`
"""
if not obj.get("download_url"):
return ""
return urljoin(settings.LMS_ROOT_URL, obj.get("download_url"))

View File

@@ -503,6 +503,24 @@ class TestUploadedFileSerializer(TestCase):
}
assert data == expected_value
def test_no_download_url(self):
"""Test UploadedFileSerializer in the case where a URL was not found"""
input_data = {
"download_url": "",
"description": "Test description",
"name": "Test name",
"size": 78222,
}
data = UploadedFileSerializer(input_data).data
expected_value = {
"downloadUrl": "",
"description": input_data["description"],
"name": input_data["name"],
"size": input_data["size"],
}
assert data == expected_value
@ddt.ddt
class TestResponseSerializer(TestCase):