+ const user = { username: 'captain', password: 'password' }
+ await createUser({ url: servers[2].url, accessToken: servers[2].accessToken, username: user.username, password: user.password })
+ const userAccessToken = await userLogin(servers[2], user)
+
+ const resVideos = await getVideosList(servers[2].url)
+ video4 = resVideos.body.data.find(v => v.name === 'server3-4')
+
+ {
+ await rateVideo(servers[2].url, servers[2].accessToken, video4.id, 'like')
+ await rateVideo(servers[2].url, userAccessToken, video4.id, 'dislike')
+ }
+
+ {
+ {
+ const text = 'my super first comment'
+ const res = await addVideoCommentThread(servers[2].url, servers[2].accessToken, video4.id, text)
+ const threadId = res.body.comment.id
+
+ const text1 = 'my super answer to thread 1'
+ const childCommentRes = await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, threadId, text1)
+ const childCommentId = childCommentRes.body.comment.id
+
+ const text2 = 'my super answer to answer of thread 1'
+ await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, childCommentId, text2)
+
+ const text3 = 'my second answer to thread 1'
+ await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, threadId, text3)
+ }
+
+ {
+ const text = 'will be deleted'
+ const res = await addVideoCommentThread(servers[2].url, servers[2].accessToken, video4.id, text)
+ const threadId = res.body.comment.id
+
+ const text1 = 'answer to deleted'
+ await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, threadId, text1)
+
+ const text2 = 'will also be deleted'
+ const childCommentRes = await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, threadId, text2)
+ const childCommentId = childCommentRes.body.comment.id
+
+ const text3 = 'my second answer to deleted'
+ await addVideoCommentReply(servers[2].url, servers[2].accessToken, video4.id, childCommentId, text3)
+
+ await deleteVideoComment(servers[2].url, servers[2].accessToken, video4.id, threadId)
+ await deleteVideoComment(servers[2].url, servers[2].accessToken, video4.id, childCommentId)
+ }
+ }
+
+ {
+ await createVideoCaption({
+ url: servers[2].url,
+ accessToken: servers[2].accessToken,
+ language: 'ar',
+ videoId: video4.id,
+ fixture: 'subtitle-good2.vtt'
+ })
+ }