diff --git a/tests/videodinges/factories.py b/tests/videodinges/factories.py
index ba64222..32c441b 100644
--- a/tests/videodinges/factories.py
+++ b/tests/videodinges/factories.py
@@ -18,17 +18,16 @@ def create(model: Type[T], **kwargs) -> T:
if model is models.Transcoding:
video = create(models.Video, title='Title', slug='slug', description='Description') \
if 'video' not in kwargs else None
- return models.Transcoding.objects.create(
- **{
- **dict(
- video=video,
- quality=models.qualities[0].name,
- type=str(models.transcoding_types[0]),
- url='https://some_url',
- ),
- **kwargs
- }
+ defaults = dict(
+ video=video,
+ quality=models.qualities[0].name,
+ type=str(models.transcoding_types[0]),
)
+ if 'upload' not in kwargs:
+ # only URL if no upload for they are multually exclusive
+ defaults['url'] = 'https://some_url'
+
+ return models.Transcoding.objects.create(**{**defaults, **kwargs})
if model is models.Upload:
return _upload(**kwargs)
diff --git a/tests/videodinges/views/test_video.py b/tests/videodinges/views/test_video.py
index defa2cf..173ff5d 100644
--- a/tests/videodinges/views/test_video.py
+++ b/tests/videodinges/views/test_video.py
@@ -203,3 +203,45 @@ class VideoTestCase(TestCase):
)
self.assertInHTML('720p versie', content)
+
+ def test_video_uploads_shows_correctly(self):
+
+ image = factories.create(models.Upload)
+ movie = factories.create(models.Upload)
+
+ video = factories.create(
+ models.Video,
+ title='Vid 1',
+ slug='vid-1',
+ poster=image,
+ og_image=image
+ )
+ transcoding = factories.create(
+ models.Transcoding,
+ video=video,
+ quality='480p',
+ type='video/webm',
+ upload=movie,
+ )
+
+ resp:HttpResponse = self.client.get(
+ reverse('video', args=['vid-1']) + '?quality=720p')
+
+ self.assertEqual(resp.status_code, 200)
+
+ content:str = resp.content.decode(resp.charset)
+
+ self.assertInHTML(
+ """""".format(url=movie.file.url, image=image.file.url),
+ content,
+ )
+
+ self.assertInHTML(
+ ''.format(image=image.file.url),
+ content,
+ )
+
+