aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/api
diff options
context:
space:
mode:
authorJosh Morel <morel.josh@hotmail.com>2019-04-02 05:26:47 -0400
committerChocobozzz <chocobozzz@cpy.re>2019-04-02 11:26:47 +0200
commit7ccddd7b5250bd25a917a6e77e58b87b9484a2a4 (patch)
treee75dc991369c1768804fefa114eb2a832881087f /server/tests/api
parent12fed49ebab0c414713d57ea316b6488ae6bef99 (diff)
downloadPeerTube-7ccddd7b5250bd25a917a6e77e58b87b9484a2a4.tar.gz
PeerTube-7ccddd7b5250bd25a917a6e77e58b87b9484a2a4.tar.zst
PeerTube-7ccddd7b5250bd25a917a6e77e58b87b9484a2a4.zip
add quarantine videos feature (#1637)
* add quarantine videos feature * increase Notification settings test timeout to 20000ms. was completing 7000 locally but timing out after 10000 on travis * fix quarantine video test issues -propagate misspelling -remove skip from server/tests/client.ts * WIP use blacklist for moderator video approval instead of video.quarantine boolean * finish auto-blacklist feature
Diffstat (limited to 'server/tests/api')
-rw-r--r--server/tests/api/check-params/config.ts7
-rw-r--r--server/tests/api/check-params/user-notifications.ts1
-rw-r--r--server/tests/api/check-params/video-blacklist.ts11
-rw-r--r--server/tests/api/check-params/videos.ts3
-rw-r--r--server/tests/api/server/config.ts9
-rw-r--r--server/tests/api/users/user-notifications.ts191
-rw-r--r--server/tests/api/videos/video-blacklist.ts25
7 files changed, 237 insertions, 10 deletions
diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts
index c6b460f23..0b333e2f4 100644
--- a/server/tests/api/check-params/config.ts
+++ b/server/tests/api/check-params/config.ts
@@ -80,6 +80,13 @@ describe('Test config API validators', function () {
80 enabled: false 80 enabled: false
81 } 81 }
82 } 82 }
83 },
84 autoBlacklist: {
85 videos: {
86 ofUsers: {
87 enabled: false
88 }
89 }
83 } 90 }
84 } 91 }
85 92
diff --git a/server/tests/api/check-params/user-notifications.ts b/server/tests/api/check-params/user-notifications.ts
index 714f481e9..36eaceac7 100644
--- a/server/tests/api/check-params/user-notifications.ts
+++ b/server/tests/api/check-params/user-notifications.ts
@@ -168,6 +168,7 @@ describe('Test user notifications API validators', function () {
168 newVideoFromSubscription: UserNotificationSettingValue.WEB, 168 newVideoFromSubscription: UserNotificationSettingValue.WEB,
169 newCommentOnMyVideo: UserNotificationSettingValue.WEB, 169 newCommentOnMyVideo: UserNotificationSettingValue.WEB,
170 videoAbuseAsModerator: UserNotificationSettingValue.WEB, 170 videoAbuseAsModerator: UserNotificationSettingValue.WEB,
171 videoAutoBlacklistAsModerator: UserNotificationSettingValue.WEB,
171 blacklistOnMyVideo: UserNotificationSettingValue.WEB, 172 blacklistOnMyVideo: UserNotificationSettingValue.WEB,
172 myVideoImportFinished: UserNotificationSettingValue.WEB, 173 myVideoImportFinished: UserNotificationSettingValue.WEB,
173 myVideoPublished: UserNotificationSettingValue.WEB, 174 myVideoPublished: UserNotificationSettingValue.WEB,
diff --git a/server/tests/api/check-params/video-blacklist.ts b/server/tests/api/check-params/video-blacklist.ts
index 6b82643f4..fc039e847 100644
--- a/server/tests/api/check-params/video-blacklist.ts
+++ b/server/tests/api/check-params/video-blacklist.ts
@@ -8,6 +8,7 @@ import {
8 flushAndRunMultipleServers, 8 flushAndRunMultipleServers,
9 flushTests, 9 flushTests,
10 getBlacklistedVideosList, 10 getBlacklistedVideosList,
11 getBlacklistedVideosListWithTypeFilter,
11 getVideo, 12 getVideo,
12 getVideoWithToken, 13 getVideoWithToken,
13 killallServers, 14 killallServers,
@@ -24,7 +25,7 @@ import {
24 checkBadSortPagination, 25 checkBadSortPagination,
25 checkBadStartPagination 26 checkBadStartPagination
26} from '../../../../shared/utils/requests/check-api-params' 27} from '../../../../shared/utils/requests/check-api-params'
27import { VideoDetails } from '../../../../shared/models/videos' 28import { VideoDetails, VideoBlacklistType } from '../../../../shared/models/videos'
28import { expect } from 'chai' 29import { expect } from 'chai'
29 30
30describe('Test video blacklist API validators', function () { 31describe('Test video blacklist API validators', function () {
@@ -238,6 +239,14 @@ describe('Test video blacklist API validators', function () {
238 it('Should fail with an incorrect sort', async function () { 239 it('Should fail with an incorrect sort', async function () {
239 await checkBadSortPagination(servers[0].url, basePath, servers[0].accessToken) 240 await checkBadSortPagination(servers[0].url, basePath, servers[0].accessToken)
240 }) 241 })
242
243 it('Should fail with an invalid type', async function () {
244 await getBlacklistedVideosListWithTypeFilter(servers[0].url, servers[0].accessToken, 0, 400)
245 })
246
247 it('Should succeed with the correct parameters', async function () {
248 await getBlacklistedVideosListWithTypeFilter(servers[0].url, servers[0].accessToken, VideoBlacklistType.MANUAL)
249 })
241 }) 250 })
242 251
243 after(async function () { 252 after(async function () {
diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts
index 3eccaee44..5a013b890 100644
--- a/server/tests/api/check-params/videos.ts
+++ b/server/tests/api/check-params/videos.ts
@@ -7,7 +7,8 @@ import { join } from 'path'
7import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum' 7import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum'
8import { 8import {
9 createUser, flushTests, getMyUserInformation, getVideo, getVideosList, immutableAssign, killallServers, makeDeleteRequest, 9 createUser, flushTests, getMyUserInformation, getVideo, getVideosList, immutableAssign, killallServers, makeDeleteRequest,
10 makeGetRequest, makeUploadRequest, makePutBodyRequest, removeVideo, runServer, ServerInfo, setAccessTokensToServers, userLogin 10 makeGetRequest, makeUploadRequest, makePutBodyRequest, removeVideo, uploadVideo,
11 runServer, ServerInfo, setAccessTokensToServers, userLogin, updateCustomSubConfig
11} from '../../../../shared/utils' 12} from '../../../../shared/utils'
12import { 13import {
13 checkBadCountPagination, 14 checkBadCountPagination,
diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts
index 42927605d..b9f05e952 100644
--- a/server/tests/api/server/config.ts
+++ b/server/tests/api/server/config.ts
@@ -62,6 +62,7 @@ function checkInitialConfig (data: CustomConfig) {
62 62
63 expect(data.import.videos.http.enabled).to.be.true 63 expect(data.import.videos.http.enabled).to.be.true
64 expect(data.import.videos.torrent.enabled).to.be.true 64 expect(data.import.videos.torrent.enabled).to.be.true
65 expect(data.autoBlacklist.videos.ofUsers.enabled).to.be.false
65} 66}
66 67
67function checkUpdatedConfig (data: CustomConfig) { 68function checkUpdatedConfig (data: CustomConfig) {
@@ -103,6 +104,7 @@ function checkUpdatedConfig (data: CustomConfig) {
103 104
104 expect(data.import.videos.http.enabled).to.be.false 105 expect(data.import.videos.http.enabled).to.be.false
105 expect(data.import.videos.torrent.enabled).to.be.false 106 expect(data.import.videos.torrent.enabled).to.be.false
107 expect(data.autoBlacklist.videos.ofUsers.enabled).to.be.true
106} 108}
107 109
108describe('Test config', function () { 110describe('Test config', function () {
@@ -225,6 +227,13 @@ describe('Test config', function () {
225 enabled: false 227 enabled: false
226 } 228 }
227 } 229 }
230 },
231 autoBlacklist: {
232 videos: {
233 ofUsers: {
234 enabled: true
235 }
236 }
228 } 237 }
229 } 238 }
230 await updateCustomConfig(server.url, server.accessToken, newCustomConfig) 239 await updateCustomConfig(server.url, server.accessToken, newCustomConfig)
diff --git a/server/tests/api/users/user-notifications.ts b/server/tests/api/users/user-notifications.ts
index d573bf024..1b66df79b 100644
--- a/server/tests/api/users/user-notifications.ts
+++ b/server/tests/api/users/user-notifications.ts
@@ -17,7 +17,9 @@ import {
17 updateVideo, 17 updateVideo,
18 updateVideoChannel, 18 updateVideoChannel,
19 userLogin, 19 userLogin,
20 wait 20 wait,
21 getCustomConfig,
22 updateCustomConfig
21} from '../../../../shared/utils' 23} from '../../../../shared/utils'
22import { killallServers, ServerInfo, uploadVideo } from '../../../../shared/utils/index' 24import { killallServers, ServerInfo, uploadVideo } from '../../../../shared/utils/index'
23import { setAccessTokensToServers } from '../../../../shared/utils/users/login' 25import { setAccessTokensToServers } from '../../../../shared/utils/users/login'
@@ -31,6 +33,7 @@ import {
31 checkNewBlacklistOnMyVideo, 33 checkNewBlacklistOnMyVideo,
32 checkNewCommentOnMyVideo, 34 checkNewCommentOnMyVideo,
33 checkNewVideoAbuseForModerators, 35 checkNewVideoAbuseForModerators,
36 checkVideoAutoBlacklistForModerators,
34 checkNewVideoFromSubscription, 37 checkNewVideoFromSubscription,
35 checkUserRegistered, 38 checkUserRegistered,
36 checkVideoIsPublished, 39 checkVideoIsPublished,
@@ -54,6 +57,7 @@ import { getBadVideoUrl, getYoutubeVideoUrl, importVideo } from '../../../../sha
54import { addVideoCommentReply, addVideoCommentThread } from '../../../../shared/utils/videos/video-comments' 57import { addVideoCommentReply, addVideoCommentThread } from '../../../../shared/utils/videos/video-comments'
55import * as uuidv4 from 'uuid/v4' 58import * as uuidv4 from 'uuid/v4'
56import { addAccountToAccountBlocklist, removeAccountFromAccountBlocklist } from '../../../../shared/utils/users/blocklist' 59import { addAccountToAccountBlocklist, removeAccountFromAccountBlocklist } from '../../../../shared/utils/users/blocklist'
60import { CustomConfig } from '../../../../shared/models/server'
57 61
58const expect = chai.expect 62const expect = chai.expect
59 63
@@ -92,6 +96,7 @@ describe('Test users notifications', function () {
92 newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 96 newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
93 newCommentOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 97 newCommentOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
94 videoAbuseAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 98 videoAbuseAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
99 videoAutoBlacklistAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
95 blacklistOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 100 blacklistOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
96 myVideoImportFinished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 101 myVideoImportFinished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
97 myVideoPublished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, 102 myVideoPublished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL,
@@ -305,7 +310,7 @@ describe('Test users notifications', function () {
305 }) 310 })
306 311
307 it('Should send a new video notification after a video import', async function () { 312 it('Should send a new video notification after a video import', async function () {
308 this.timeout(30000) 313 this.timeout(100000)
309 314
310 const name = 'video import ' + uuidv4() 315 const name = 'video import ' + uuidv4()
311 316
@@ -907,6 +912,180 @@ describe('Test users notifications', function () {
907 }) 912 })
908 }) 913 })
909 914
915 describe('Video-related notifications when video auto-blacklist is enabled', function () {
916 let userBaseParams: CheckerBaseParams
917 let adminBaseParamsServer1: CheckerBaseParams
918 let adminBaseParamsServer2: CheckerBaseParams
919 let videoUUID: string
920 let videoName: string
921 let currentCustomConfig: CustomConfig
922
923 before(async () => {
924
925 adminBaseParamsServer1 = {
926 server: servers[0],
927 emails,
928 socketNotifications: adminNotifications,
929 token: servers[0].accessToken
930 }
931
932 adminBaseParamsServer2 = {
933 server: servers[1],
934 emails,
935 socketNotifications: adminNotificationsServer2,
936 token: servers[1].accessToken
937 }
938
939 userBaseParams = {
940 server: servers[0],
941 emails,
942 socketNotifications: userNotifications,
943 token: userAccessToken
944 }
945
946 const resCustomConfig = await getCustomConfig(servers[0].url, servers[0].accessToken)
947 currentCustomConfig = resCustomConfig.body
948 const autoBlacklistTestsCustomConfig = immutableAssign(currentCustomConfig, {
949 autoBlacklist: {
950 videos: {
951 ofUsers: {
952 enabled: true
953 }
954 }
955 }
956 })
957 // enable transcoding otherwise own publish notification after transcoding not expected
958 autoBlacklistTestsCustomConfig.transcoding.enabled = true
959 await updateCustomConfig(servers[0].url, servers[0].accessToken, autoBlacklistTestsCustomConfig)
960
961 await addUserSubscription(servers[0].url, servers[0].accessToken, 'user_1_channel@localhost:9001')
962 await addUserSubscription(servers[1].url, servers[1].accessToken, 'user_1_channel@localhost:9001')
963
964 })
965
966 it('Should send notification to moderators on new video with auto-blacklist', async function () {
967 this.timeout(20000)
968
969 videoName = 'video with auto-blacklist ' + uuidv4()
970 const resVideo = await uploadVideo(servers[0].url, userAccessToken, { name: videoName })
971 videoUUID = resVideo.body.video.uuid
972
973 await waitJobs(servers)
974 await checkVideoAutoBlacklistForModerators(adminBaseParamsServer1, videoUUID, videoName, 'presence')
975 })
976
977 it('Should not send video publish notification if auto-blacklisted', async function () {
978 await checkVideoIsPublished(userBaseParams, videoName, videoUUID, 'absence')
979 })
980
981 it('Should not send a local user subscription notification if auto-blacklisted', async function () {
982 await checkNewVideoFromSubscription(adminBaseParamsServer1, videoName, videoUUID, 'absence')
983 })
984
985 it('Should not send a remote user subscription notification if auto-blacklisted', async function () {
986 await checkNewVideoFromSubscription(adminBaseParamsServer2, videoName, videoUUID, 'absence')
987 })
988
989 it('Should send video published and unblacklist after video unblacklisted', async function () {
990 this.timeout(20000)
991
992 await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, videoUUID)
993
994 await waitJobs(servers)
995
996 // FIXME: Can't test as two notifications sent to same user and util only checks last one
997 // One notification might be better anyways
998 // await checkNewBlacklistOnMyVideo(userBaseParams, videoUUID, videoName, 'unblacklist')
999 // await checkVideoIsPublished(userBaseParams, videoName, videoUUID, 'presence')
1000 })
1001
1002 it('Should send a local user subscription notification after removed from blacklist', async function () {
1003 await checkNewVideoFromSubscription(adminBaseParamsServer1, videoName, videoUUID, 'presence')
1004 })
1005
1006 it('Should send a remote user subscription notification after removed from blacklist', async function () {
1007 await checkNewVideoFromSubscription(adminBaseParamsServer2, videoName, videoUUID, 'presence')
1008 })
1009
1010 it('Should send unblacklist but not published/subscription notes after unblacklisted if scheduled update pending', async function () {
1011 this.timeout(20000)
1012
1013 let updateAt = new Date(new Date().getTime() + 100000)
1014
1015 const name = 'video with auto-blacklist and future schedule ' + uuidv4()
1016
1017 const data = {
1018 name,
1019 privacy: VideoPrivacy.PRIVATE,
1020 scheduleUpdate: {
1021 updateAt: updateAt.toISOString(),
1022 privacy: VideoPrivacy.PUBLIC
1023 }
1024 }
1025
1026 const resVideo = await uploadVideo(servers[0].url, userAccessToken, data)
1027 const uuid = resVideo.body.video.uuid
1028
1029 await removeVideoFromBlacklist(servers[0].url, servers[0].accessToken, uuid)
1030
1031 await waitJobs(servers)
1032 await checkNewBlacklistOnMyVideo(userBaseParams, uuid, name, 'unblacklist')
1033
1034 // FIXME: Can't test absence as two notifications sent to same user and util only checks last one
1035 // One notification might be better anyways
1036 // await checkVideoIsPublished(userBaseParams, name, uuid, 'absence')
1037
1038 await checkNewVideoFromSubscription(adminBaseParamsServer1, name, uuid, 'absence')
1039 await checkNewVideoFromSubscription(adminBaseParamsServer2, name, uuid, 'absence')
1040 })
1041
1042 it('Should not send publish/subscription notifications after scheduled update if video still auto-blacklisted', async function () {
1043 this.timeout(20000)
1044
1045 // In 2 seconds
1046 let updateAt = new Date(new Date().getTime() + 2000)
1047
1048 const name = 'video with schedule done and still auto-blacklisted ' + uuidv4()
1049
1050 const data = {
1051 name,
1052 privacy: VideoPrivacy.PRIVATE,
1053 scheduleUpdate: {
1054 updateAt: updateAt.toISOString(),
1055 privacy: VideoPrivacy.PUBLIC
1056 }
1057 }
1058
1059 const resVideo = await uploadVideo(servers[0].url, userAccessToken, data)
1060 const uuid = resVideo.body.video.uuid
1061
1062 await wait(6000)
1063 await checkVideoIsPublished(userBaseParams, name, uuid, 'absence')
1064 await checkNewVideoFromSubscription(adminBaseParamsServer1, name, uuid, 'absence')
1065 await checkNewVideoFromSubscription(adminBaseParamsServer2, name, uuid, 'absence')
1066 })
1067
1068 it('Should not send a notification to moderators on new video without auto-blacklist', async function () {
1069 this.timeout(20000)
1070
1071 const name = 'video without auto-blacklist ' + uuidv4()
1072
1073 // admin with blacklist right will not be auto-blacklisted
1074 const resVideo = await uploadVideo(servers[0].url, servers[0].accessToken, { name })
1075 const uuid = resVideo.body.video.uuid
1076
1077 await waitJobs(servers)
1078 await checkVideoAutoBlacklistForModerators(adminBaseParamsServer1, uuid, name, 'absence')
1079 })
1080
1081 after(async () => {
1082 await updateCustomConfig(servers[0].url, servers[0].accessToken, currentCustomConfig)
1083
1084 await removeUserSubscription(servers[0].url, servers[0].accessToken, 'user_1_channel@localhost:9001')
1085 await removeUserSubscription(servers[1].url, servers[1].accessToken, 'user_1_channel@localhost:9001')
1086 })
1087 })
1088
910 describe('Mark as read', function () { 1089 describe('Mark as read', function () {
911 it('Should mark as read some notifications', async function () { 1090 it('Should mark as read some notifications', async function () {
912 const res = await getUserNotifications(servers[ 0 ].url, userAccessToken, 2, 3) 1091 const res = await getUserNotifications(servers[ 0 ].url, userAccessToken, 2, 3)
@@ -968,7 +1147,7 @@ describe('Test users notifications', function () {
968 }) 1147 })
969 1148
970 it('Should not have notifications', async function () { 1149 it('Should not have notifications', async function () {
971 this.timeout(10000) 1150 this.timeout(20000)
972 1151
973 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { 1152 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, {
974 newVideoFromSubscription: UserNotificationSettingValue.NONE 1153 newVideoFromSubscription: UserNotificationSettingValue.NONE
@@ -987,7 +1166,7 @@ describe('Test users notifications', function () {
987 }) 1166 })
988 1167
989 it('Should only have web notifications', async function () { 1168 it('Should only have web notifications', async function () {
990 this.timeout(10000) 1169 this.timeout(20000)
991 1170
992 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { 1171 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, {
993 newVideoFromSubscription: UserNotificationSettingValue.WEB 1172 newVideoFromSubscription: UserNotificationSettingValue.WEB
@@ -1013,7 +1192,7 @@ describe('Test users notifications', function () {
1013 }) 1192 })
1014 1193
1015 it('Should only have mail notifications', async function () { 1194 it('Should only have mail notifications', async function () {
1016 this.timeout(10000) 1195 this.timeout(20000)
1017 1196
1018 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { 1197 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, {
1019 newVideoFromSubscription: UserNotificationSettingValue.EMAIL 1198 newVideoFromSubscription: UserNotificationSettingValue.EMAIL
@@ -1039,7 +1218,7 @@ describe('Test users notifications', function () {
1039 }) 1218 })
1040 1219
1041 it('Should have email and web notifications', async function () { 1220 it('Should have email and web notifications', async function () {
1042 this.timeout(10000) 1221 this.timeout(20000)
1043 1222
1044 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { 1223 await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, {
1045 newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL 1224 newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL
diff --git a/server/tests/api/videos/video-blacklist.ts b/server/tests/api/videos/video-blacklist.ts
index d39ad63b4..10b412a80 100644
--- a/server/tests/api/videos/video-blacklist.ts
+++ b/server/tests/api/videos/video-blacklist.ts
@@ -7,6 +7,7 @@ import {
7 addVideoToBlacklist, 7 addVideoToBlacklist,
8 flushAndRunMultipleServers, 8 flushAndRunMultipleServers,
9 getBlacklistedVideosList, 9 getBlacklistedVideosList,
10 getBlacklistedVideosListWithTypeFilter,
10 getMyVideos, 11 getMyVideos,
11 getSortedBlacklistedVideosList, 12 getSortedBlacklistedVideosList,
12 getVideosList, 13 getVideosList,
@@ -22,7 +23,7 @@ import {
22} from '../../../../shared/utils/index' 23} from '../../../../shared/utils/index'
23import { doubleFollow } from '../../../../shared/utils/server/follows' 24import { doubleFollow } from '../../../../shared/utils/server/follows'
24import { waitJobs } from '../../../../shared/utils/server/jobs' 25import { waitJobs } from '../../../../shared/utils/server/jobs'
25import { VideoBlacklist } from '../../../../shared/models/videos' 26import { VideoBlacklist, VideoBlacklistType } from '../../../../shared/models/videos'
26 27
27const expect = chai.expect 28const expect = chai.expect
28 29
@@ -101,7 +102,7 @@ describe('Test video blacklist management', function () {
101 }) 102 })
102 }) 103 })
103 104
104 describe('When listing blacklisted videos', function () { 105 describe('When listing manually blacklisted videos', function () {
105 it('Should display all the blacklisted videos', async function () { 106 it('Should display all the blacklisted videos', async function () {
106 const res = await getBlacklistedVideosList(servers[0].url, servers[0].accessToken) 107 const res = await getBlacklistedVideosList(servers[0].url, servers[0].accessToken)
107 108
@@ -117,6 +118,26 @@ describe('Test video blacklist management', function () {
117 } 118 }
118 }) 119 })
119 120
121 it('Should display all the blacklisted videos when applying manual type filter', async function () {
122 const res = await getBlacklistedVideosListWithTypeFilter(servers[0].url, servers[0].accessToken, VideoBlacklistType.MANUAL)
123
124 expect(res.body.total).to.equal(2)
125
126 const blacklistedVideos = res.body.data
127 expect(blacklistedVideos).to.be.an('array')
128 expect(blacklistedVideos.length).to.equal(2)
129 })
130
131 it('Should display nothing when applying automatic type filter', async function () {
132 const res = await getBlacklistedVideosListWithTypeFilter(servers[0].url, servers[0].accessToken, VideoBlacklistType.AUTO_BEFORE_PUBLISHED) // tslint:disable:max-line-length
133
134 expect(res.body.total).to.equal(0)
135
136 const blacklistedVideos = res.body.data
137 expect(blacklistedVideos).to.be.an('array')
138 expect(blacklistedVideos.length).to.equal(0)
139 })
140
120 it('Should get the correct sort when sorting by descending id', async function () { 141 it('Should get the correct sort when sorting by descending id', async function () {
121 const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, '-id') 142 const res = await getSortedBlacklistedVideosList(servers[0].url, servers[0].accessToken, '-id')
122 expect(res.body.total).to.equal(2) 143 expect(res.body.total).to.equal(2)