Skip to content

Commit

Permalink
YEL-214 [fix] vote 테스트
Browse files Browse the repository at this point in the history
  • Loading branch information
hyeonjeongs committed Feb 28, 2024
1 parent daa06e8 commit 4b4a5c4
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,20 @@ public static NotificationMessage toYelloNotificationContent(Vote vote) {

public static NotificationMessage toUserOpenVoteNotificationContent(User user) {
return NotificationMessage.builder()
.title(MessageFormat.format("{0}님이 내가 보낸 쪽지를 확인했어요! ", user.getName()))
.title(MessageFormat.format("{0}님이 내가 보낸 쪽지를 확인했어요!", user.getName()))
.message("\uD83D\uDEA8\uD83D\uDC9A 그린라이트입니다.")
.type(NotificationType.OPEN_VOTE)
.build();
}

public static NotificationMessage toUserAndFriendRecommendSignupNotificationContent(User user) {
return NotificationMessage.builder()
.title(MessageFormat.format("{0}님이 나를 추천인으로 가입해 열람권이 지급됐어요!", user.getName()))
.message("지금이다! 날 짝사랑 하는 사람 보러가기")
.type(NotificationType.OPEN_VOTE)
.build();
}

public static NotificationMessage toAllUserLunchEventNotificationContent() {
return NotificationMessage.builder()
.title("우리 학교 선착순 30명 열람권 뿌린다!")
Expand Down
109 changes: 55 additions & 54 deletions src/test/java/com/yello/server/domain/vote/small/VoteServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package com.yello.server.domain.vote.small;

import static com.yello.server.global.common.factory.PaginationFactory.createPageable;
import static org.assertj.core.api.Assertions.assertThat;

import com.yello.server.domain.cooldown.FakeCooldownRepository;
import com.yello.server.domain.cooldown.repository.CooldownRepository;
import com.yello.server.domain.friend.FakeFriendRepository;
Expand Down Expand Up @@ -36,32 +33,30 @@
import com.yello.server.domain.vote.FakeVoteRepository;
import com.yello.server.domain.vote.dto.request.CreateVoteRequest;
import com.yello.server.domain.vote.dto.request.VoteAnswer;
import com.yello.server.domain.vote.dto.response.RevealNameResponse;
import com.yello.server.domain.vote.dto.response.VoteAvailableResponse;
import com.yello.server.domain.vote.dto.response.VoteCreateVO;
import com.yello.server.domain.vote.dto.response.VoteDetailResponse;
import com.yello.server.domain.vote.dto.response.VoteFriendResponse;
import com.yello.server.domain.vote.dto.response.VoteListResponse;
import com.yello.server.domain.vote.dto.response.VoteUnreadCountResponse;
import com.yello.server.domain.vote.dto.response.*;
import com.yello.server.domain.vote.entity.Vote;
import com.yello.server.domain.vote.repository.VoteRepository;
import com.yello.server.domain.vote.service.VoteManager;
import com.yello.server.domain.vote.service.VoteService;
import com.yello.server.infrastructure.firebase.FakeFcmManger;
import com.yello.server.infrastructure.firebase.manager.FCMManager;
import com.yello.server.infrastructure.firebase.service.NotificationFcmService;
import com.yello.server.infrastructure.firebase.service.NotificationService;
import com.yello.server.infrastructure.rabbitmq.FakeMessageQueueRepository;
import com.yello.server.infrastructure.rabbitmq.FakeProducerService;
import com.yello.server.infrastructure.rabbitmq.service.ProducerService;
import com.yello.server.util.TestDataEntityUtil;
import com.yello.server.util.TestDataRepositoryUtil;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.DisplayNameGeneration;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores;
import org.junit.jupiter.api.Test;
import org.springframework.data.domain.Pageable;

import java.util.ArrayList;
import java.util.List;

import static com.yello.server.global.common.factory.PaginationFactory.createPageable;
import static org.assertj.core.api.Assertions.assertThat;

@DisplayName("VoteService 에서")
@DisplayNameGeneration(ReplaceUnderscores.class)
public class VoteServiceTest {
Expand All @@ -71,35 +66,40 @@ public class VoteServiceTest {
private final KeywordRepository keywordRepository = new FakeKeywordRepository();
private final NoticeRepository noticeRepository = new FakeNoticeRepository();
private final ProducerService producerService =
new FakeProducerService(new FakeMessageQueueRepository());
new FakeProducerService(new FakeMessageQueueRepository());
private final PurchaseRepository purchaseRepository = new FakePurchaseRepository();
private final QuestionRepository questionRepository = new FakeQuestionRepository();
private final QuestionGroupTypeRepository questionGroupTypeRepository = new FakeQuestionGroupTypeRepository(
questionRepository);
questionRepository);
private final TestDataEntityUtil testDataEntityUtil = new TestDataEntityUtil();
private final UserDataRepository userDataRepository = new FakeUserDataRepository();
private final UserGroupRepository userGroupRepository = new FakeUserGroupRepository();
private final UserRepository userRepository = new FakeUserRepository(friendRepository);
private final UserManager userManager = new FakeUserManager(userRepository);
private final FCMManager fcmManager = new FakeFcmManger();
private final NotificationService notificationService = NotificationFcmService.builder()
.userRepository(userRepository)
.fcmManager(fcmManager)
.build();
private final VoteRepository voteRepository = new FakeVoteRepository();
private final VoteManager voteManager = new FakeVoteManager(
userRepository,
questionRepository,
voteRepository,
friendRepository,
userManager
userRepository,
questionRepository,
voteRepository,
friendRepository,
userManager
);
private final TestDataRepositoryUtil testDataUtil = new TestDataRepositoryUtil(
friendRepository,
noticeRepository,
purchaseRepository,
questionGroupTypeRepository,
questionRepository,
testDataEntityUtil,
userDataRepository,
userGroupRepository,
userRepository,
voteRepository
friendRepository,
noticeRepository,
purchaseRepository,
questionGroupTypeRepository,
questionRepository,
testDataEntityUtil,
userDataRepository,
userGroupRepository,
userRepository,
voteRepository
);
private VoteService voteService;
private List<Question> questionData = new ArrayList<>();
Expand All @@ -109,24 +109,25 @@ public class VoteServiceTest {
@BeforeEach
void init() {
this.voteService = VoteService.builder()
.voteRepository(voteRepository)
.friendRepository(friendRepository)
.cooldownRepository(cooldownRepository)
.userRepository(userRepository)
.questionRepository(questionRepository)
.keywordRepository(keywordRepository)
.producerService(producerService)
.voteManager(voteManager)
.questionGroupTypeRepository(questionGroupTypeRepository)
.build();
.voteRepository(voteRepository)
.friendRepository(friendRepository)
.cooldownRepository(cooldownRepository)
.userRepository(userRepository)
.questionRepository(questionRepository)
.keywordRepository(keywordRepository)
.producerService(producerService)
.voteManager(voteManager)
.questionGroupTypeRepository(questionGroupTypeRepository)
.notificationService(notificationService)
.build();

for (long i = 1; i <= 8; i++) {
questionData.add(testDataUtil.generateQuestion(i));
}

for (long i = 1; i <= 8; i++) {
QuestionGroupType questionGroupType = testDataUtil.generateQuestionGroupType(i,
questionData.get(Long.valueOf(i).intValue() - 1));
questionData.get(Long.valueOf(i).intValue() - 1));
questionGroupTypeData.add(questionGroupType);
}

Expand Down Expand Up @@ -203,7 +204,7 @@ void cleanup() {

// when
VoteFriendResponse result =
voteService.findAllFriendVotes(userId, pageable); // 다시 확인 !!
voteService.findAllFriendVotes(userId, pageable); // 다시 확인 !!

// then
assertThat(result.totalCount()).isEqualTo(4);
Expand Down Expand Up @@ -262,17 +263,17 @@ void cleanup() {

final List<VoteAnswer> voteAnswerList = new ArrayList<>();
VoteAnswer answer1 = VoteAnswer.builder()
.friendId(2L)
.questionId(1L)
.keywordName("test")
.colorIndex(0)
.build();
.friendId(2L)
.questionId(1L)
.keywordName("test")
.colorIndex(0)
.build();
voteAnswerList.add(answer1);

CreateVoteRequest request = CreateVoteRequest.builder()
.voteAnswerList(voteAnswerList)
.totalPoint(3)
.build();
.voteAnswerList(voteAnswerList)
.totalPoint(3)
.build();

// when
VoteCreateVO result = voteService.createVote(userId, request);
Expand Down

0 comments on commit 4b4a5c4

Please sign in to comment.