aboutsummaryrefslogtreecommitdiff
path: root/juick-server-jdbc/src/test/java/com
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2017-10-11 12:47:02 +0300
committerGravatar Vitaly Takmazov2017-10-11 12:47:02 +0300
commit753d79d6bbabfdac33c6c382717fe0acaec2a3bd (patch)
tree006a2b957d4a599315d1472ae1d4f7e726136ee2 /juick-server-jdbc/src/test/java/com
parent0ad4b98456e5de96a9fea6e128a20a4624c72c6a (diff)
telegram: do not duplicate subscription requests
Diffstat (limited to 'juick-server-jdbc/src/test/java/com')
-rw-r--r--juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java39
1 files changed, 30 insertions, 9 deletions
diff --git a/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
index 738a1250..44e46b70 100644
--- a/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
+++ b/juick-server-jdbc/src/test/java/com/juick/service/MessageServiceTest.java
@@ -17,22 +17,22 @@
package com.juick.service;
-import com.juick.Message;
+import com.juick.Tag;
import com.juick.User;
import com.juick.configuration.RepositoryConfiguration;
import com.juick.server.helpers.AnonymousUser;
import org.junit.Before;
import org.junit.Test;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import javax.inject.Inject;
-import java.time.ZoneId;
+import java.util.Collections;
import java.util.List;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
/**
* Created by aalexeev on 11/25/16.
@@ -45,6 +45,14 @@ public class MessageServiceTest extends AbstractJUnit4SpringContextTests {
private UserService userService;
@Inject
private SubscriptionService subscriptionService;
+ @Inject
+ private TagService tagService;
+ @Inject
+ private TelegramService telegramService;
+ @Inject
+ private JdbcTemplate jdbcTemplate;
+ @Inject
+ private CrosspostService crosspostService;
int ugnichId, freefdId, mid;
@@ -77,11 +85,24 @@ public class MessageServiceTest extends AbstractJUnit4SpringContextTests {
User ugnich = userService.getUserByUID(ugnichId).orElse(AnonymousUser.INSTANCE);
User freefd = userService.getUserByUID(freefdId).orElse(AnonymousUser.INSTANCE);
- int mid = messagesService.createMessage(ugnichId, "yo", null, null);
- subscriptionService.subscribeMessage(mid, freefdId);
- int rid = messagesService.createReply(mid, 0, ugnichId, "yo", null);
- Message reply = messagesService.getReply(mid, rid);
- assertThat(messagesService.getNotifications(freefd, null).size(), is(1));
- assertThat(messagesService.getNotifications(freefd, reply.getTimestamp().atZone(ZoneId.systemDefault()).toLocalDateTime()).size(), is(0));
+ Tag yoTag = tagService.getTag("yoyo", true);
+ int mid = messagesService.createMessage(ugnichId, "yo", null, Collections.singletonList(yoTag));
+ List<User> subscribers = subscriptionService.getSubscribedUsers(ugnichId, mid);
+
+ telegramService.createTelegramUser(12345, "freefd");
+ String loginhash = jdbcTemplate.queryForObject("SELECT loginhash FROM telegram where tg_id=?",
+ String.class, 12345);
+ crosspostService.setTelegramUser(loginhash, freefd.getUid());
+
+ List<Long> telegramSubscribers = telegramService.getTelegramIdentifiers(subscribers);
+ assertThat(subscribers.size(), equalTo(1));
+ assertThat(subscribers.size(), equalTo(telegramSubscribers.size()));
+ assertThat(subscribers.get(0).getUid(), equalTo(freefd.getUid()));
+ tagService.blacklistTag(freefd, yoTag);
+ List<User> subscribers2 = subscriptionService.getSubscribedUsers(ugnichId, mid);
+ assertThat(subscribers2.size(), equalTo(0));
+ assertThat(telegramService.getTelegramIdentifiers(subscribers2).size(), equalTo(0));
+ tagService.blacklistTag(freefd, yoTag);
+ assertThat(subscriptionService.getSubscribedUsers(ugnichId, mid).size(), equalTo(1));
}
}