X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fvideos%2Fvideo-playlists.ts;h=7d12159900e710f2b41b269b4eb1132485bfbf5e;hb=d218e7de9400938ae6ac593d9ae5842e23abd4f0;hp=2bb97d7a8b05ae7dcecb902d09e405e4e685621f;hpb=4c1def5fd8e9f483238eb38e221f555e2e6bbf07;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/videos/video-playlists.ts b/server/tests/api/videos/video-playlists.ts index 2bb97d7a8..7d1215990 100644 --- a/server/tests/api/videos/video-playlists.ts +++ b/server/tests/api/videos/video-playlists.ts @@ -41,6 +41,7 @@ import { uploadVideo, uploadVideoAndGetId, userLogin, + wait, waitJobs } from '../../../../shared/extra-utils' import { VideoPlaylistPrivacy } from '../../../../shared/models/videos/playlist/video-playlist-privacy.model' @@ -227,6 +228,8 @@ describe('Test video playlists', function () { }) await waitJobs(servers) + // Processing a playlist by the receiver could be long + await wait(3000) for (const server of servers) { const res = await getVideoPlaylistsList(server.url, 0, 5) @@ -236,7 +239,7 @@ describe('Test video playlists', function () { const playlistFromList = res.body.data[0] as VideoPlaylist const res2 = await getVideoPlaylist(server.url, playlistFromList.uuid) - const playlistFromGet = res2.body + const playlistFromGet = res2.body as VideoPlaylist for (const playlist of [ playlistFromGet, playlistFromList ]) { expect(playlist.id).to.be.a('number') @@ -250,6 +253,7 @@ describe('Test video playlists', function () { expect(playlist.privacy.label).to.equal('Public') expect(playlist.type.id).to.equal(VideoPlaylistType.REGULAR) expect(playlist.type.label).to.equal('Regular') + expect(playlist.embedPath).to.equal('/video-playlists/embed/' + playlist.uuid) expect(playlist.videosLength).to.equal(0) @@ -309,6 +313,7 @@ describe('Test video playlists', function () { } await waitJobs(servers) + await wait(3000) for (const server of [ servers[0], servers[1] ]) { const res = await getVideoPlaylistsList(server.url, 0, 5) @@ -450,6 +455,7 @@ describe('Test video playlists', function () { }) await waitJobs(servers) + await wait(3000) for (const server of servers) { const results = [ @@ -551,6 +557,9 @@ describe('Test video playlists', function () { { const res = await addVideo({ videoId: nsfwVideoServer1, startTimestamp: 5 }) playlistElementNSFW = res.body.videoPlaylistElement.id + + await addVideo({ videoId: nsfwVideoServer1, startTimestamp: 4 }) + await addVideo({ videoId: nsfwVideoServer1 }) } await waitJobs(servers) @@ -562,10 +571,10 @@ describe('Test video playlists', function () { for (const server of servers) { const res = await getPlaylistVideos(server.url, server.accessToken, playlistServer1UUID, 0, 10) - expect(res.body.total).to.equal(6) + expect(res.body.total).to.equal(8) const videoElements: VideoPlaylistElement[] = res.body.data - expect(videoElements).to.have.lengthOf(6) + expect(videoElements).to.have.lengthOf(8) expect(videoElements[0].video.name).to.equal('video 0 server 1') expect(videoElements[0].position).to.equal(1) @@ -597,6 +606,16 @@ describe('Test video playlists', function () { expect(videoElements[5].startTimestamp).to.equal(5) expect(videoElements[5].stopTimestamp).to.be.null + expect(videoElements[6].video.name).to.equal('NSFW video') + expect(videoElements[6].position).to.equal(7) + expect(videoElements[6].startTimestamp).to.equal(4) + expect(videoElements[6].stopTimestamp).to.be.null + + expect(videoElements[7].video.name).to.equal('NSFW video') + expect(videoElements[7].position).to.equal(8) + expect(videoElements[7].startTimestamp).to.be.null + expect(videoElements[7].stopTimestamp).to.be.null + const res3 = await getPlaylistVideos(server.url, server.accessToken, playlistServer1UUID, 0, 2) expect(res3.body.data).to.have.lengthOf(2) } @@ -614,7 +633,7 @@ describe('Test video playlists', function () { let video3: string before(async function () { - this.timeout(30000) + this.timeout(60000) groupUser1 = [ Object.assign({}, servers[0], { accessToken: userAccessTokenServer1 }) ] groupWithoutToken1 = [ Object.assign({}, servers[0], { accessToken: undefined }) ] @@ -642,6 +661,8 @@ describe('Test video playlists', function () { video2 = (await uploadVideoAndGetId({ server: servers[1], videoName: 'video 90' })).uuid video3 = (await uploadVideoAndGetId({ server: servers[0], videoName: 'video 91', nsfw: true })).uuid + await waitJobs(servers) + await addVideo({ videoId: video1, startTimestamp: 15, stopTimestamp: 28 }) await addVideo({ videoId: video2, startTimestamp: 35 }) await addVideo({ videoId: video3 }) @@ -806,6 +827,8 @@ describe('Test video playlists', function () { 'video 1 server 3', 'video 3 server 1', 'video 4 server 1', + 'NSFW video', + 'NSFW video', 'NSFW video' ]) } @@ -835,6 +858,8 @@ describe('Test video playlists', function () { 'video 2 server 3', 'video 1 server 3', 'video 4 server 1', + 'NSFW video', + 'NSFW video', 'NSFW video' ]) } @@ -864,7 +889,9 @@ describe('Test video playlists', function () { 'video 2 server 3', 'NSFW video', 'video 1 server 3', - 'video 4 server 1' + 'video 4 server 1', + 'NSFW video', + 'NSFW video' ]) for (let i = 1; i <= elements.length; i++) { @@ -1022,10 +1049,10 @@ describe('Test video playlists', function () { for (const server of servers) { const res = await getPlaylistVideos(server.url, server.accessToken, playlistServer1UUID, 0, 10) - expect(res.body.total).to.equal(4) + expect(res.body.total).to.equal(6) const elements: VideoPlaylistElement[] = res.body.data - expect(elements).to.have.lengthOf(4) + expect(elements).to.have.lengthOf(6) expect(elements[0].video.name).to.equal('video 0 server 1') expect(elements[0].position).to.equal(1) @@ -1038,6 +1065,12 @@ describe('Test video playlists', function () { expect(elements[3].video.name).to.equal('video 4 server 1') expect(elements[3].position).to.equal(4) + + expect(elements[4].video.name).to.equal('NSFW video') + expect(elements[4].position).to.equal(5) + + expect(elements[5].video.name).to.equal('NSFW video') + expect(elements[5].position).to.equal(6) } })