From 26b7305a232e547709f433a6edf700bf495935d8 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 13 Aug 2018 16:57:13 +0200 Subject: Add blacklist reason field --- .../tests/api/videos/video-blacklist-management.ts | 78 ++++++++++++++++------ 1 file changed, 57 insertions(+), 21 deletions(-) (limited to 'server/tests/api/videos/video-blacklist-management.ts') diff --git a/server/tests/api/videos/video-blacklist-management.ts b/server/tests/api/videos/video-blacklist-management.ts index 4d1a06436..7bf39dc99 100644 --- a/server/tests/api/videos/video-blacklist-management.ts +++ b/server/tests/api/videos/video-blacklist-management.ts @@ -1,4 +1,4 @@ -/* tslint:disable:no-unused-expressions */ +/* tslint:disable:no-unused-expression */ import * as chai from 'chai' import * as lodash from 'lodash' @@ -7,29 +7,33 @@ import { addVideoToBlacklist, flushAndRunMultipleServers, getBlacklistedVideosList, + getMyVideos, getSortedBlacklistedVideosList, getVideosList, killallServers, removeVideoFromBlacklist, ServerInfo, setAccessTokensToServers, + updateVideoBlacklist, uploadVideo } from '../../utils/index' import { doubleFollow } from '../../utils/server/follows' import { waitJobs } from '../../utils/server/jobs' +import { VideoAbuse } from '../../../../shared/models/videos' const expect = chai.expect const orderBy = lodash.orderBy describe('Test video blacklist management', function () { let servers: ServerInfo[] = [] + let videoId: number async function blacklistVideosOnServer (server: ServerInfo) { const res = await getVideosList(server.url) const videos = res.body.data for (let video of videos) { - await addVideoToBlacklist(server.url, server.accessToken, video.id) + await addVideoToBlacklist(server.url, server.accessToken, video.id, 'super reason') } } @@ -62,53 +66,85 @@ describe('Test video blacklist management', function () { expect(res.body.total).to.equal(2) - const videos = res.body.data - expect(videos).to.be.an('array') - expect(videos.length).to.equal(2) + const blacklistedVideos = res.body.data + expect(blacklistedVideos).to.be.an('array') + expect(blacklistedVideos.length).to.equal(2) + + for (const blacklistedVideo of blacklistedVideos) { + expect(blacklistedVideo.reason).to.equal('super reason') + videoId = blacklistedVideo.video.id + } }) it('Should get the correct sort when sorting by descending id', async function () { const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, '-id') expect(res.body.total).to.equal(2) - const videos = res.body.data - expect(videos).to.be.an('array') - expect(videos.length).to.equal(2) + const blacklistedVideos = res.body.data + expect(blacklistedVideos).to.be.an('array') + expect(blacklistedVideos.length).to.equal(2) const result = orderBy(res.body.data, [ 'id' ], [ 'desc' ]) - expect(videos).to.deep.equal(result) + expect(blacklistedVideos).to.deep.equal(result) }) it('Should get the correct sort when sorting by descending video name', async function () { const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, '-name') expect(res.body.total).to.equal(2) - const videos = res.body.data - expect(videos).to.be.an('array') - expect(videos.length).to.equal(2) + const blacklistedVideos = res.body.data + expect(blacklistedVideos).to.be.an('array') + expect(blacklistedVideos.length).to.equal(2) const result = orderBy(res.body.data, [ 'name' ], [ 'desc' ]) - expect(videos).to.deep.equal(result) + expect(blacklistedVideos).to.deep.equal(result) }) it('Should get the correct sort when sorting by ascending creation date', async function () { const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, 'createdAt') expect(res.body.total).to.equal(2) - const videos = res.body.data - expect(videos).to.be.an('array') - expect(videos.length).to.equal(2) + const blacklistedVideos = res.body.data + expect(blacklistedVideos).to.be.an('array') + expect(blacklistedVideos.length).to.equal(2) const result = orderBy(res.body.data, [ 'createdAt' ]) - expect(videos).to.deep.equal(result) + expect(blacklistedVideos).to.deep.equal(result) + }) + }) + + describe('When updating blacklisted videos', function () { + it('Should change the reason', async function () { + await updateVideoBlacklist(servers[0].url, servers[0].accessToken, videoId, 'my super reason updated') + + const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, '-name') + const video = res.body.data.find(b => b.video.id === videoId) + + expect(video.reason).to.equal('my super reason updated') + }) + }) + + describe('When listing my videos', function () { + it('Should display blacklisted videos', async function () { + await blacklistVideosOnServer(servers[1]) + + const res = await getMyVideos(servers[1].url, servers[1].accessToken, 0, 5) + + expect(res.body.total).to.equal(2) + expect(res.body.data).to.have.lengthOf(2) + + for (const video of res.body.data) { + expect(video.blacklisted).to.be.true + expect(video.blacklistedReason).to.equal('super reason') + } }) }) describe('When removing a blacklisted video', function () { - let videoToRemove + let videoToRemove: VideoAbuse let blacklist = [] it('Should not have any video in videos list on server 1', async function () { @@ -125,7 +161,7 @@ describe('Test video blacklist management', function () { blacklist = res.body.data.slice(1) // Remove it - await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, videoToRemove.videoId) + await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, videoToRemove.video.id) }) it('Should have the ex-blacklisted video in videos list on server 1', async function () { @@ -136,8 +172,8 @@ describe('Test video blacklist management', function () { expect(videos).to.be.an('array') expect(videos.length).to.equal(1) - expect(videos[0].name).to.equal(videoToRemove.name) - expect(videos[0].id).to.equal(videoToRemove.videoId) + expect(videos[0].name).to.equal(videoToRemove.video.name) + expect(videos[0].id).to.equal(videoToRemove.video.id) }) it('Should not have the ex-blacklisted video in videos blacklist list on server 1', async function () { -- cgit v1.2.3