diff --git a/edxval/tests/test_api.py b/edxval/tests/test_api.py index 6907f862..24408e1e 100644 --- a/edxval/tests/test_api.py +++ b/edxval/tests/test_api.py @@ -2684,6 +2684,12 @@ def setUp(self): self.v2_transcript1 = video_and_transcripts['transcripts']['de'] self.v2_transcript2 = video_and_transcripts['transcripts']['zh'] + # Add the videos to courses + self.course_id1 = 'test-course-1' + self.course_id2 = 'test-course-2' + CourseVideo.objects.create(video=self.video1, course_id=self.course_id1) + CourseVideo.objects.create(video=self.video2, course_id=self.course_id2) + self.temp_dir = mkdtemp() self.addCleanup(shutil.rmtree, self.temp_dir) @@ -3133,6 +3139,39 @@ def test_no_create_transcript_file(self, video_id, language_code): # Verify no file is created. self.assertEqual(file_system.listdir(constants.EXPORT_IMPORT_STATIC_DIR), []) + def test_get_transcript_details_for_course(self): + """ + Verify that `get_transcript_details_for_course` api function works as expected. + """ + + course_transcript = api.get_transcript_details_for_course(self.course_id1) + + expectation = { + 'super-soaker': { + 'en': { + 'provider': TranscriptProviderType.THREE_PLAY_MEDIA, + 'content': "", + 'file_format': utils.TranscriptFormat.SRT, + 'url': self.v1_transcript2.url(), + 'name': 'video-transcripts/f912fbdf2674437e8ec5a654f800a613.srt', + 'size': 6226, + }, + 'fr': { + 'provider': TranscriptProviderType.CIELO24, + 'content': "", + 'file_format': utils.TranscriptFormat.SRT, + 'url': self.v1_transcript2.url(), + 'name': 'video-transcripts/f912fbdf2674437e8ec5a654f800a613.srt', + 'size': 6226, + } + } + } + self.assertEqual(course_transcript['super-soaker']['en']['provider'], TranscriptProviderType.THREE_PLAY_MEDIA) + self.assertIn('content', course_transcript['super-soaker']['en']) + self.assertEqual(course_transcript['super-soaker']['en']['file_format'], utils.TranscriptFormat.SRT) + self.assertIn('url', course_transcript['super-soaker']['en']) + self.assertIn('name', course_transcript['super-soaker']['en']) + self.assertIn('size', course_transcript['super-soaker']['en']) @ddt class TranscriptPreferencesTest(TestCase):