mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-09 00:21:13 +08:00
42 lines
1.9 KiB
Java
42 lines
1.9 KiB
Java
package com.openisle.service;
|
|
|
|
import com.openisle.repository.CommentRepository;
|
|
import com.openisle.repository.PostRepository;
|
|
import com.openisle.repository.UserRepository;
|
|
import com.openisle.repository.ReactionRepository;
|
|
import com.openisle.repository.CommentSubscriptionRepository;
|
|
import com.openisle.repository.NotificationRepository;
|
|
import com.openisle.repository.PointHistoryRepository;
|
|
import com.openisle.service.PointService;
|
|
import com.openisle.exception.RateLimitException;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
import static org.mockito.Mockito.*;
|
|
|
|
class CommentServiceTest {
|
|
@Test
|
|
void addCommentRespectsRateLimit() {
|
|
CommentRepository commentRepo = mock(CommentRepository.class);
|
|
PostRepository postRepo = mock(PostRepository.class);
|
|
UserRepository userRepo = mock(UserRepository.class);
|
|
NotificationService notifService = mock(NotificationService.class);
|
|
SubscriptionService subService = mock(SubscriptionService.class);
|
|
ReactionRepository reactionRepo = mock(ReactionRepository.class);
|
|
CommentSubscriptionRepository subRepo = mock(CommentSubscriptionRepository.class);
|
|
NotificationRepository nRepo = mock(NotificationRepository.class);
|
|
PointHistoryRepository pointHistoryRepo = mock(PointHistoryRepository.class);
|
|
PointService pointService = mock(PointService.class);
|
|
ImageUploader imageUploader = mock(ImageUploader.class);
|
|
|
|
CommentService service = new CommentService(commentRepo, postRepo, userRepo,
|
|
notifService, subService, reactionRepo, subRepo, nRepo, pointHistoryRepo, pointService, imageUploader);
|
|
|
|
when(commentRepo.countByAuthorAfter(eq("alice"), any())).thenReturn(3L);
|
|
|
|
assertThrows(RateLimitException.class,
|
|
() -> service.addComment("alice", 1L, "hi"));
|
|
}
|
|
}
|