Skip to content

Commit 58e98a8

Browse files
authored
Merge pull request #911 from srow90/codex/issue-888-podcast-show-metadata
Expose podcast show metadata through API
2 parents caed57b + b05e221 commit 58e98a8

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/api/fork_views_podcast.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ def _serialize_show(show, tracker=None):
3939
"title": show.title,
4040
"author": show.author,
4141
"image": show.image,
42+
"description": show.description,
43+
"genres": show.genres,
44+
"language": show.language,
4245
"rss_feed_url": show.rss_feed_url,
4346
"tracker": tracker_payload,
4447
}

src/api/tests/test_fork_podcast.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ def setUp(self):
2828
podcast_uuid="show-uuid-1",
2929
title="Test Show",
3030
image="https://example.com/show.jpg",
31+
description="A test podcast description.",
32+
genres=["Technology", "News"],
33+
language="en",
3134
)
3235
self.episode1 = PodcastEpisode.objects.create(
3336
show=self.show,
@@ -48,6 +51,21 @@ def setUp(self):
4851
class ShowTrackerTests(PodcastApiTestCase):
4952
"""Show tracker CRUD."""
5053

54+
def test_detail_includes_show_metadata(self):
55+
"""Show detail exposes the stored discovery metadata."""
56+
response = self.call_api(
57+
"get",
58+
"api_podcast_show_detail",
59+
args=(self.show.id,),
60+
headers=self.auth_headers,
61+
)
62+
63+
self.assertEqual(response.status_code, HTTP.OK)
64+
payload = response.json()
65+
self.assertEqual(payload["description"], "A test podcast description.")
66+
self.assertEqual(payload["genres"], ["Technology", "News"])
67+
self.assertEqual(payload["language"], "en")
68+
5169
def test_track_list_patch_delete(self):
5270
"""Full tracker lifecycle."""
5371
created = self.call_api(

0 commit comments

Comments
 (0)