aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-03-23 00:32:57 +0300
committerGravatar Vitaly Takmazov2022-03-23 00:32:57 +0300
commit2788060f586efb13cce6fa2b11dbfee630546ece (patch)
tree144e4926bf9eab1edbd14c0a349f5db44a73fc4d /src
parent42769a27edc7718231ebfa6ca723a8b0d80f4e30 (diff)
Return correct replies counter on /thread API endpoint
* replies counter will not include replies from banned users now
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/juick/www/api/Messages.java2
-rw-r--r--src/test/java/com/juick/server/tests/ServerTests.java3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/juick/www/api/Messages.java b/src/main/java/com/juick/www/api/Messages.java
index a782f680..ab222a3c 100644
--- a/src/main/java/com/juick/www/api/Messages.java
+++ b/src/main/java/com/juick/www/api/Messages.java
@@ -175,6 +175,8 @@ public class Messages {
.map(Pair::getRight).collect(Collectors.toList())));
msg.getRecommendations().forEach(r -> r.setAvatar(webApp.getAvatarUrl(r)));
List<Message> replies = messagesService.getReplies(visitor, mid);
+ // update replies counter to exclude banned replies
+ msg.setReplies(replies.size());
replies.forEach(m -> m.getUser().setAvatar(webApp.getAvatarUrl(m.getUser())));
if (!visitor.isAnonymous()) {
userService.updateLastSeen(visitor);
diff --git a/src/test/java/com/juick/server/tests/ServerTests.java b/src/test/java/com/juick/server/tests/ServerTests.java
index 8cff4826..18aa41f7 100644
--- a/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/src/test/java/com/juick/server/tests/ServerTests.java
@@ -1274,6 +1274,9 @@ public class ServerTests {
assertThat(messagesService.getMessage(mid).get().getReplies(), is(4));
replies = messagesService.getReplies(ugnich, mid);
assertThat(replies.size(), is(1));
+ mockMvc.perform(get("/api/thread").with(httpBasic(ugnichName, ugnichPassword)).param("mid",
+ String.valueOf(mid)))
+ .andExpect(jsonPath("$[0].replies", is(1)));
commandsManager.processCommand(serviceUser, String.format("#%d/4 mmm?!", mid), emptyUri);
assertThat(messagesService.getMessage(mid).get().getReplies(), is(5));
replies = messagesService.getReplies(ugnich, mid);