+ it('Should not allow a remote blocked user to comment my videos', async function () {
+ this.timeout(60000)
+
+ {
+ await addVideoCommentThread(servers[1].url, userToken2, videoUUID3, 'comment user 2')
+ await waitJobs(servers)
+
+ await addVideoCommentThread(servers[0].url, servers[0].accessToken, videoUUID3, 'uploader')
+ await waitJobs(servers)
+
+ const commentId = await findCommentId(servers[1].url, videoUUID3, 'uploader')
+ const message = 'reply by user 2'
+ const resReply = await addVideoCommentReply(servers[1].url, userToken2, videoUUID3, commentId, message)
+ await addVideoCommentReply(servers[1].url, servers[1].accessToken, videoUUID3, resReply.body.comment.id, 'another reply')
+
+ await waitJobs(servers)
+ }
+
+ // Server 2 has all the comments
+ {
+ const resThreads = await getVideoCommentThreads(servers[1].url, videoUUID3, 0, 25, '-createdAt')
+ const threads: VideoComment[] = resThreads.body.data
+
+ expect(threads).to.have.lengthOf(2)
+ expect(threads[0].text).to.equal('uploader')
+ expect(threads[1].text).to.equal('comment user 2')
+
+ const resReplies = await getVideoThreadComments(servers[1].url, videoUUID3, threads[0].id)
+
+ const tree: VideoCommentThreadTree = resReplies.body
+ expect(tree.children).to.have.lengthOf(1)
+ expect(tree.children[0].comment.text).to.equal('reply by user 2')
+ expect(tree.children[0].children).to.have.lengthOf(1)
+ expect(tree.children[0].children[0].comment.text).to.equal('another reply')
+ }
+
+ // Server 1 and 3 should only have uploader comments
+ for (const server of [ servers[0], servers[2] ]) {
+ const resThreads = await getVideoCommentThreads(server.url, videoUUID3, 0, 25, '-createdAt')
+ const threads: VideoComment[] = resThreads.body.data
+
+ expect(threads).to.have.lengthOf(1)
+ expect(threads[0].text).to.equal('uploader')
+
+ const resReplies = await getVideoThreadComments(server.url, videoUUID3, threads[0].id)
+
+ const tree: VideoCommentThreadTree = resReplies.body
+ if (server.serverNumber === 1) {
+ expect(tree.children).to.have.lengthOf(0)
+ } else {
+ expect(tree.children).to.have.lengthOf(1)
+ }
+ }
+ })
+