From e789fe8d2aeb53595956a944e27323297d5113e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 13 Mar 2021 22:54:32 -0500 Subject: [PATCH] fix: #9383, don't show deleted topic titles in inf scroll --- src/socket.io/categories.js | 2 +- test/categories.js | 27 +++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/socket.io/categories.js b/src/socket.io/categories.js index 0bafd95055..9ccd7c0e0d 100644 --- a/src/socket.io/categories.js +++ b/src/socket.io/categories.js @@ -74,7 +74,7 @@ SocketCategories.loadMore = async function (socket, data) { tag: data.query.tag, targetUid: targetUid, }); - categories.modifyTopicsByPrivilege(data.topics, userPrivileges); + categories.modifyTopicsByPrivilege(result.topics, userPrivileges); result.privileges = userPrivileges; result.template = { diff --git a/test/categories.js b/test/categories.js index dc5b7cda4d..fc0262171c 100644 --- a/test/categories.js +++ b/test/categories.js @@ -203,14 +203,21 @@ describe('Categories', () => { describe('socket methods', () => { const socketCategories = require('../src/socket.io/categories'); - before((done) => { - Topics.post({ + before(async () => { + await Topics.post({ uid: posterUid, cid: categoryObj.cid, title: 'Test Topic Title', content: 'The content of test topic', tags: ['nodebb'], - }, done); + }); + const data = await Topics.post({ + uid: posterUid, + cid: categoryObj.cid, + title: 'will delete', + content: 'The content of deleted topic', + }); + await Topics.delete(data.topicData.tid, adminUid); }); it('should get recent replies in category', (done) => { @@ -255,10 +262,22 @@ describe('Categories', () => { }); }); + it('should not show deleted topic titles', async () => { + const data = await socketCategories.loadMore({ uid: 0 }, { + cid: categoryObj.cid, + after: 0, + }); + + assert.deepStrictEqual( + data.topics.map(t => t.title), + ['[[topic:topic_is_deleted]]', 'Test Topic Title', 'Test Topic Title'], + ); + }); + it('should load topic count', (done) => { socketCategories.getTopicCount({ uid: posterUid }, categoryObj.cid, (err, topicCount) => { assert.ifError(err); - assert.equal(topicCount, 2); + assert.strictEqual(topicCount, 3); done(); }); });