From 7d14d4d2ca82cc43c93b45bb1f90af975cfbf67c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 31 May 2019 16:30:11 +0200 Subject: Server: Bulk update videos support field --- server/tests/api/check-params/video-channels.ts | 12 +++++-- server/tests/api/videos/video-channels.ts | 42 +++++++++++++++++++++---- 2 files changed, 46 insertions(+), 8 deletions(-) (limited to 'server/tests') diff --git a/server/tests/api/check-params/video-channels.ts b/server/tests/api/check-params/video-channels.ts index ff04f6b03..de88298d1 100644 --- a/server/tests/api/check-params/video-channels.ts +++ b/server/tests/api/check-params/video-channels.ts @@ -24,6 +24,7 @@ import { checkBadStartPagination } from '../../../../shared/extra-utils/requests/check-api-params' import { join } from 'path' +import { VideoChannelUpdate } from '../../../../shared/models/videos' const expect = chai.expect @@ -169,9 +170,11 @@ describe('Test video channels API validator', function () { }) describe('When updating a video channel', function () { - const baseCorrectParams = { + const baseCorrectParams: VideoChannelUpdate = { displayName: 'hello', - description: 'super description' + description: 'super description', + support: 'toto', + bulkVideosSupportUpdate: false } let path: string @@ -214,6 +217,11 @@ describe('Test video channels API validator', function () { await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields }) }) + it('Should fail with a bad bulkVideosSupportUpdate field', async function () { + const fields = immutableAssign(baseCorrectParams, { bulkVideosSupportUpdate: 'super' }) + await makePutBodyRequest({ url: server.url, path, token: server.accessToken, fields }) + }) + it('Should succeed with the correct parameters', async function () { await makePutBodyRequest({ url: server.url, diff --git a/server/tests/api/videos/video-channels.ts b/server/tests/api/videos/video-channels.ts index 2d298dd3f..4f600cae8 100644 --- a/server/tests/api/videos/video-channels.ts +++ b/server/tests/api/videos/video-channels.ts @@ -2,12 +2,12 @@ import * as chai from 'chai' import 'mocha' -import { User, Video, VideoChannel } from '../../../../shared/index' +import { User, Video, VideoChannel, VideoDetails } from '../../../../shared/index' import { cleanupTests, createUser, doubleFollow, - flushAndRunMultipleServers, + flushAndRunMultipleServers, getVideo, getVideoChannelVideos, testImage, updateVideo, @@ -79,7 +79,8 @@ describe('Test video channels', function () { // The channel is 1 is propagated to servers 2 { - const res = await uploadVideo(servers[ 0 ].url, servers[ 0 ].accessToken, { name: 'my video name', channelId: secondVideoChannelId }) + const videoAttributesArg = { name: 'my video name', channelId: secondVideoChannelId, support: 'video support field' } + const res = await uploadVideo(servers[ 0 ].url, servers[ 0 ].accessToken, videoAttributesArg) videoUUID = res.body.video.uuid } @@ -201,12 +202,12 @@ describe('Test video channels', function () { }) it('Should update video channel', async function () { - this.timeout(5000) + this.timeout(15000) const videoChannelAttributes = { displayName: 'video channel updated', description: 'video channel description updated', - support: 'video channel support text updated' + support: 'support updated' } await updateVideoChannel(servers[0].url, servers[0].accessToken, 'second_video_channel', videoChannelAttributes) @@ -224,7 +225,36 @@ describe('Test video channels', function () { expect(res.body.data[0].name).to.equal('second_video_channel') expect(res.body.data[0].displayName).to.equal('video channel updated') expect(res.body.data[0].description).to.equal('video channel description updated') - expect(res.body.data[0].support).to.equal('video channel support text updated') + expect(res.body.data[0].support).to.equal('support updated') + } + }) + + it('Should not have updated the video support field', async function () { + for (const server of servers) { + const res = await getVideo(server.url, videoUUID) + const video: VideoDetails = res.body + + expect(video.support).to.equal('video support field') + } + }) + + it('Should update the channel support field and update videos too', async function () { + this.timeout(35000) + + const videoChannelAttributes = { + support: 'video channel support text updated', + bulkVideosSupportUpdate: true + } + + await updateVideoChannel(servers[0].url, servers[0].accessToken, 'second_video_channel', videoChannelAttributes) + + await waitJobs(servers) + + for (const server of servers) { + const res = await getVideo(server.url, videoUUID) + const video: VideoDetails = res.body + + expect(video.support).to.equal(videoChannelAttributes.support) } }) -- cgit v1.2.3