X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fvideos%2Fservices.ts;h=897f37c040d3c8de5bf4f9e5abb5ef05b335d5d3;hb=6fad8e51c47b9d07bea99b777c1f55c10f6d576d;hp=17172331f917b41639ef298c3bac60bb424554a2;hpb=b6a1dd4d1b3b0032f8b968e72cbd074f646e8827;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/videos/services.ts b/server/tests/api/videos/services.ts index 17172331f..897f37c04 100644 --- a/server/tests/api/videos/services.ts +++ b/server/tests/api/videos/services.ts @@ -1,14 +1,25 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import * as chai from 'chai' import 'mocha' -import { getOEmbed, getVideosList, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../../../shared/extra-utils/index' +import * as chai from 'chai' +import { + getOEmbed, + getVideosList, + ServerInfo, + setAccessTokensToServers, + setDefaultVideoChannel, + uploadVideo, + createVideoPlaylist, + addVideoInPlaylist +} from '../../../../shared/extra-utils' import { cleanupTests, flushAndRunServer } from '../../../../shared/extra-utils/server/servers' +import { VideoPlaylistPrivacy } from '@shared/models' const expect = chai.expect describe('Test services', function () { let server: ServerInfo = null + let playlistUUID: string before(async function () { this.timeout(30000) @@ -16,28 +27,54 @@ describe('Test services', function () { server = await flushAndRunServer(1) await setAccessTokensToServers([ server ]) + await setDefaultVideoChannel([ server ]) - const videoAttributes = { - name: 'my super name' + { + const videoAttributes = { + name: 'my super name' + } + await uploadVideo(server.url, server.accessToken, videoAttributes) + + const res = await getVideosList(server.url) + server.video = res.body.data[0] } - await uploadVideo(server.url, server.accessToken, videoAttributes) - const res = await getVideosList(server.url) - server.video = res.body.data[0] + { + const res = await createVideoPlaylist({ + url: server.url, + token: server.accessToken, + playlistAttrs: { + displayName: 'The Life and Times of Scrooge McDuck', + privacy: VideoPlaylistPrivacy.PUBLIC, + videoChannelId: server.videoChannel.id + } + }) + + playlistUUID = res.body.videoPlaylist.uuid + + await addVideoInPlaylist({ + url: server.url, + token: server.accessToken, + playlistId: res.body.videoPlaylist.id, + elementAttrs: { + videoId: server.video.id + } + }) + } }) - it('Should have a valid oEmbed response', async function () { + it('Should have a valid oEmbed video response', async function () { const oembedUrl = 'http://localhost:' + server.port + '/videos/watch/' + server.video.uuid const res = await getOEmbed(server.url, oembedUrl) const expectedHtml = '' + `src="http://localhost:${server.port}/videos/embed/${server.video.uuid}" ` + + 'frameborder="0" allowfullscreen>' const expectedThumbnailUrl = 'http://localhost:' + server.port + '/static/previews/' + server.video.uuid + '.jpg' expect(res.body.html).to.equal(expectedHtml) expect(res.body.title).to.equal(server.video.name) - expect(res.body.author_name).to.equal(server.video.account.name) + expect(res.body.author_name).to.equal(server.videoChannel.displayName) expect(res.body.width).to.equal(560) expect(res.body.height).to.equal(315) expect(res.body.thumbnail_url).to.equal(expectedThumbnailUrl) @@ -45,6 +82,24 @@ describe('Test services', function () { expect(res.body.thumbnail_height).to.equal(480) }) + it('Should have a valid playlist oEmbed response', async function () { + const oembedUrl = 'http://localhost:' + server.port + '/videos/watch/playlist/' + playlistUUID + + const res = await getOEmbed(server.url, oembedUrl) + const expectedHtml = '' + + expect(res.body.html).to.equal(expectedHtml) + expect(res.body.title).to.equal('The Life and Times of Scrooge McDuck') + expect(res.body.author_name).to.equal(server.videoChannel.displayName) + expect(res.body.width).to.equal(560) + expect(res.body.height).to.equal(315) + expect(res.body.thumbnail_url).exist + expect(res.body.thumbnail_width).to.equal(223) + expect(res.body.thumbnail_height).to.equal(122) + }) + it('Should have a valid oEmbed response with small max height query', async function () { const oembedUrl = 'http://localhost:' + server.port + '/videos/watch/' + server.video.uuid const format = 'json' @@ -53,12 +108,12 @@ describe('Test services', function () { const res = await getOEmbed(server.url, oembedUrl, format, maxHeight, maxWidth) const expectedHtml = '' + `src="http://localhost:${server.port}/videos/embed/${server.video.uuid}" ` + + 'frameborder="0" allowfullscreen>' expect(res.body.html).to.equal(expectedHtml) expect(res.body.title).to.equal(server.video.name) - expect(res.body.author_name).to.equal(server.video.account.name) + expect(res.body.author_name).to.equal(server.videoChannel.displayName) expect(res.body.height).to.equal(50) expect(res.body.width).to.equal(50) expect(res.body).to.not.have.property('thumbnail_url')