From 04bf312cdac0fe601864c19bdbd4f24c73ae08ae Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 30 May 2018 11:11:51 +0200 Subject: [PATCH] Improve create transcoding jobs tests --- client/src/assets/player/video-renderer.ts | 6 +++--- server/tests/cli/create-transcoding-job.ts | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/client/src/assets/player/video-renderer.ts b/client/src/assets/player/video-renderer.ts index 4affb43cf..4b54b661a 100644 --- a/client/src/assets/player/video-renderer.ts +++ b/client/src/assets/player/video-renderer.ts @@ -50,7 +50,7 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca return fallbackToMediaSource() }) - preparedElem.addEventListener('loadstart', onLoadStart) + preparedElem.addEventListener('canplay', onLoadStart) return videostream(file, preparedElem) } @@ -66,7 +66,7 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca return callback(err) }) - preparedElem.addEventListener('loadstart', onLoadStart) + preparedElem.addEventListener('canplay', onLoadStart) const wrapper = new MediaElementWrapper(preparedElem) const writable = wrapper.createWriteStream(codecs) @@ -95,7 +95,7 @@ function renderMedia (file, elem: HTMLVideoElement, opts: RenderMediaOptions, ca } function onLoadStart () { - preparedElem.removeEventListener('loadstart', onLoadStart) + preparedElem.removeEventListener('canplay', onLoadStart) if (opts.autoplay) preparedElem.play() callback(null, renderer) diff --git a/server/tests/cli/create-transcoding-job.ts b/server/tests/cli/create-transcoding-job.ts index c2214d285..557dd8af9 100644 --- a/server/tests/cli/create-transcoding-job.ts +++ b/server/tests/cli/create-transcoding-job.ts @@ -72,12 +72,27 @@ describe('Test create transcoding jobs', function () { const videos = res.body.data expect(videos).to.have.lengthOf(2) + let infoHashes: { [ id: number ]: string } + for (const video of videos) { const res2 = await getVideo(server.url, video.uuid) const videoDetail: VideoDetails = res2.body if (video.uuid === video2UUID) { expect(videoDetail.files).to.have.lengthOf(4) + + if (!infoHashes) { + infoHashes = {} + + for (const file of videoDetail.files) { + infoHashes[file.resolution.id.toString()] = file.magnetUri + } + } else { + for (const resolution of Object.keys(infoHashes)) { + const file = videoDetail.files.find(f => f.resolution.id.toString() === resolution) + expect(file.magnetUri).to.equal(infoHashes[resolution]) + } + } } else { expect(videoDetail.files).to.have.lengthOf(1) } -- 2.25.1