From 99cb53fd5af3a13886e87c6aa224d777acee9fac Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 8 Jun 2021 13:34:40 +0200 Subject: Don't count deleted comment for replies --- server/models/video/video-comment.ts | 8 ++------ server/tests/api/videos/multiple-servers.ts | 4 ++-- server/tests/api/videos/video-comments.ts | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) (limited to 'server') diff --git a/server/models/video/video-comment.ts b/server/models/video/video-comment.ts index bdf5d86bc..e1faf2b9a 100644 --- a/server/models/video/video-comment.ts +++ b/server/models/video/video-comment.ts @@ -69,14 +69,10 @@ export enum ScopeNames { Sequelize.literal( '(' + 'WITH "blocklist" AS (' + buildBlockedAccountSQL(blockerAccountIds) + ')' + - 'SELECT COUNT("replies"."id") - (' + - 'SELECT COUNT("replies"."id") ' + - 'FROM "videoComment" AS "replies" ' + - 'WHERE "replies"."originCommentId" = "VideoCommentModel"."id" ' + - 'AND "accountId" IN (SELECT "id" FROM "blocklist")' + - ')' + + 'SELECT COUNT("replies"."id") ' + 'FROM "videoComment" AS "replies" ' + 'WHERE "replies"."originCommentId" = "VideoCommentModel"."id" ' + + 'AND "deletedAt" IS NULL ' + 'AND "accountId" NOT IN (SELECT "id" FROM "blocklist")' + ')' ), diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index 6aa996038..e80d69cf3 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts @@ -934,7 +934,7 @@ describe('Test multiple servers', function () { expect(deletedComment.text).to.equal('') expect(deletedComment.inReplyToCommentId).to.be.null expect(deletedComment.account).to.be.null - expect(deletedComment.totalReplies).to.equal(3) + expect(deletedComment.totalReplies).to.equal(2) expect(dateIsValid(deletedComment.createdAt as string)).to.be.true expect(dateIsValid(deletedComment.updatedAt as string)).to.be.true expect(dateIsValid(deletedComment.deletedAt as string)).to.be.true @@ -976,7 +976,7 @@ describe('Test multiple servers', function () { expect(comment.createdAt).to.not.be.null expect(comment.deletedAt).to.not.be.null expect(comment.account).to.be.null - expect(comment.totalReplies).to.equal(3) + expect(comment.totalReplies).to.equal(2) } } }) diff --git a/server/tests/api/videos/video-comments.ts b/server/tests/api/videos/video-comments.ts index a5ff3a39d..b6b002307 100644 --- a/server/tests/api/videos/video-comments.ts +++ b/server/tests/api/videos/video-comments.ts @@ -231,7 +231,7 @@ describe('Test video comments', function () { expect(res.body.data[0].isDeleted).to.be.true expect(res.body.data[0].deletedAt).to.not.be.null expect(res.body.data[0].account).to.be.null - expect(res.body.data[0].totalReplies).to.equal(3) + expect(res.body.data[0].totalReplies).to.equal(2) expect(res.body.data[1].text).to.equal('super thread 2') expect(res.body.data[1].totalReplies).to.equal(0) expect(res.body.data[2].text).to.equal('super thread 3') -- cgit v1.2.3