From 39433fa56c1f41f700abc912d444c9af4b4c9d13 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 31 Jul 2020 13:13:02 +0200 Subject: [PATCH] Fix client tests --- server/tests/client.ts | 120 ++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 61 deletions(-) diff --git a/server/tests/client.ts b/server/tests/client.ts index 2d8468c06..f55859b6f 100644 --- a/server/tests/client.ts +++ b/server/tests/client.ts @@ -3,24 +3,25 @@ import 'mocha' import * as chai from 'chai' import * as request from 'supertest' +import { Account, VideoPlaylistPrivacy } from '@shared/models' import { + addVideoInPlaylist, cleanupTests, + createVideoPlaylist, flushAndRunServer, + getAccount, getCustomConfig, getVideosList, makeHTMLRequest, ServerInfo, serverLogin, + setDefaultVideoChannel, updateCustomConfig, updateCustomSubConfig, uploadVideo, - createVideoPlaylist, - addVideoInPlaylist, - getAccount, - addVideoChannel + updateMyUser, + updateVideoChannel } from '../../shared/extra-utils' -import { VideoPlaylistPrivacy } from '@shared/models' -import { MVideoPlaylist, MAccount, MChannel } from '@server/types/models' const expect = chai.expect @@ -32,28 +33,33 @@ function checkIndexTags (html: string, title: string, description: string, css: describe('Test a client controllers', function () { let server: ServerInfo - let videoPlaylist: MVideoPlaylist - let account: MAccount - let videoChannel: MChannel - const name = 'my super name for server 1' - const description = 'my super description for server 1' + let account: Account + + const videoName = 'my super name for server 1' + const videoDescription = 'my super description for server 1' + + const playlistName = 'super playlist name' + const playlistDescription = 'super playlist description' + let playlistUUID: string + + const channelDescription = 'my super channel description' before(async function () { this.timeout(120000) server = await flushAndRunServer(1) server.accessToken = await serverLogin(server) + await setDefaultVideoChannel([ server ]) + + await updateVideoChannel(server.url, server.accessToken, server.videoChannel.name, { description: channelDescription }) // Video - const videoAttributes = { name, description } - + const videoAttributes = { name: videoName, description: videoDescription } await uploadVideo(server.url, server.accessToken, videoAttributes) const resVideosRequest = await getVideosList(server.url) - const videos = resVideosRequest.body.data - expect(videos.length).to.equal(1) server.video = videos[0] @@ -61,39 +67,31 @@ describe('Test a client controllers', function () { // Playlist const playlistAttrs = { - displayName: name, - description, - privacy: VideoPlaylistPrivacy.PUBLIC + displayName: playlistName, + description: playlistDescription, + privacy: VideoPlaylistPrivacy.PUBLIC, + videoChannelId: server.videoChannel.id } const resVideoPlaylistRequest = await createVideoPlaylist({ url: server.url, token: server.accessToken, playlistAttrs }) - videoPlaylist = resVideoPlaylistRequest.body.videoPlaylist + const playlist = resVideoPlaylistRequest.body.videoPlaylist + const playlistId = playlist.id + playlistUUID = playlist.uuid await addVideoInPlaylist({ url: server.url, token: server.accessToken, - playlistId: videoPlaylist.id, + playlistId, elementAttrs: { videoId: server.video.id } }) // Account - const resAccountRequest = await getAccount(server.url, `${server.user.username}@${server.host}:${server.port}`) + await updateMyUser({ url: server.url, accessToken: server.accessToken, description: 'my account description' }) - account = resAccountRequest.body.account - - // Channel - - const videoChannelAttributesArg = { - name: `${server.user.username}_channel`, - displayName: name, - description - } - - const resChannelRequest = await addVideoChannel(server.url, server.accessToken, videoChannelAttributesArg) - - videoChannel = resChannelRequest.body.videoChannel + const resAccountRequest = await getAccount(server.url, `${server.user.username}@${server.host}`) + account = resAccountRequest.body }) it('Should have valid Open Graph tags on the watch page with video id', async function () { @@ -102,8 +100,8 @@ describe('Test a client controllers', function () { .set('Accept', 'text/html') .expect(200) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) expect(res.text).to.contain('') expect(res.text).to.contain(``) }) @@ -114,22 +112,22 @@ describe('Test a client controllers', function () { .set('Accept', 'text/html') .expect(200) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) expect(res.text).to.contain('') expect(res.text).to.contain(``) }) it('Should have valid Open Graph tags on the watch playlist page', async function () { const res = await request(server.url) - .get('/videos/watch/playlist/' + videoPlaylist.uuid) + .get('/videos/watch/playlist/' + playlistUUID) .set('Accept', 'text/html') .expect(200) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) expect(res.text).to.contain('') - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) }) it('Should have valid Open Graph tags on the account page', async function () { @@ -138,7 +136,7 @@ describe('Test a client controllers', function () { .set('Accept', 'text/html') .expect(200) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) expect(res.text).to.contain(``) expect(res.text).to.contain('') expect(res.text).to.contain(``) @@ -146,14 +144,14 @@ describe('Test a client controllers', function () { it('Should have valid Open Graph tags on the channel page', async function () { const res = await request(server.url) - .get('/video-channels/' + videoChannel.name) + .get('/video-channels/' + server.videoChannel.name) .set('Accept', 'text/html') .expect(200) - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) expect(res.text).to.contain('') - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) }) it('Should have valid oEmbed discovery tags', async function () { @@ -172,7 +170,7 @@ describe('Test a client controllers', function () { expect(res.text).to.contain(expectedLink) }) - it('Should have valid twitter card on the whatch video page', async function () { + it('Should have valid twitter card on the watch video page', async function () { const res = await request(server.url) .get('/videos/watch/' + server.video.uuid) .set('Accept', 'text/html') @@ -180,20 +178,20 @@ describe('Test a client controllers', function () { expect(res.text).to.contain('') expect(res.text).to.contain('') - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) }) it('Should have valid twitter card on the watch playlist page', async function () { const res = await request(server.url) - .get('/videos/watch/playlist/' + videoPlaylist.uuid) + .get('/videos/watch/playlist/' + playlistUUID) .set('Accept', 'text/html') .expect(200) expect(res.text).to.contain('') expect(res.text).to.contain('') - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) }) it('Should have valid twitter card on the account page', async function () { @@ -210,14 +208,14 @@ describe('Test a client controllers', function () { it('Should have valid twitter card on the channel page', async function () { const res = await request(server.url) - .get('/video-channels/' + videoChannel.name) + .get('/video-channels/' + server.videoChannel.name) .set('Accept', 'text/html') .expect(200) expect(res.text).to.contain('') expect(res.text).to.contain('') - expect(res.text).to.contain(``) - expect(res.text).to.contain(``) + expect(res.text).to.contain(``) + expect(res.text).to.contain(``) }) it('Should have valid twitter card if Twitter is whitelisted', async function () { @@ -238,11 +236,11 @@ describe('Test a client controllers', function () { expect(resVideoRequest.text).to.contain('') const resVideoPlaylistRequest = await request(server.url) - .get('/videos/watch/playlist/' + videoPlaylist.uuid) + .get('/videos/watch/playlist/' + playlistUUID) .set('Accept', 'text/html') .expect(200) - expect(resVideoPlaylistRequest.text).to.contain('') + expect(resVideoPlaylistRequest.text).to.contain('') expect(resVideoPlaylistRequest.text).to.contain('') const resAccountRequest = await request(server.url) @@ -250,15 +248,15 @@ describe('Test a client controllers', function () { .set('Accept', 'text/html') .expect(200) - expect(resAccountRequest.text).to.contain('') + expect(resAccountRequest.text).to.contain('') expect(resAccountRequest.text).to.contain('') const resChannelRequest = await request(server.url) - .get('/video-channels/' + videoChannel.name) + .get('/video-channels/' + server.videoChannel.name) .set('Accept', 'text/html') .expect(200) - expect(resChannelRequest.text).to.contain('') + expect(resChannelRequest.text).to.contain('') expect(resChannelRequest.text).to.contain('') })