Rename to SendMailService

This commit is contained in:
MangKyu
2023-02-18 22:51:38 +09:00
parent ad7d53e080
commit 8f006dfb65
6 changed files with 16 additions and 18 deletions

View File

@@ -1,5 +1,6 @@
package com.mangkyu.employment.interview.app.mail.service; package com.mangkyu.employment.interview.app.mail.controller;
import com.mangkyu.employment.interview.app.mail.service.SendMailService;
import com.mangkyu.employment.interview.app.member.entity.Member; import com.mangkyu.employment.interview.app.member.entity.Member;
import com.mangkyu.employment.interview.app.quiz.entity.Quiz; import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
import com.mangkyu.employment.interview.app.quiz.repository.QuizRepository; import com.mangkyu.employment.interview.app.quiz.repository.QuizRepository;
@@ -20,7 +21,7 @@ import java.util.*;
@RequiredArgsConstructor @RequiredArgsConstructor
public class MailController { public class MailController {
private final MailService mailService; private final SendMailService mailService;
private final MemberRepository memberRepository; private final MemberRepository memberRepository;
private final GetQuizService quizService; private final GetQuizService quizService;
private final QuizRepository quizRepository; private final QuizRepository quizRepository;

View File

@@ -18,7 +18,7 @@ import java.util.List;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class MailService { public class SendMailService {
private final JavaMailSender mailSender; private final JavaMailSender mailSender;
private String START_MAIL_FORMAT; private String START_MAIL_FORMAT;
@@ -72,11 +72,12 @@ public class MailService {
private String createBodyMailText(final List<Quiz> quizList) { private String createBodyMailText(final List<Quiz> quizList) {
final StringBuilder stringBuilder = new StringBuilder(); final StringBuilder stringBuilder = new StringBuilder();
for (Quiz quiz : quizList) { for (Quiz quiz : quizList) {
final String indexReplacedText = BODY_MAIL_FORMAT.replaceAll("\\{index}", String.valueOf(quizList.indexOf(quiz) + 1)); String replaceBody = BODY_MAIL_FORMAT
final String titleReplacedText = indexReplacedText.replaceAll("\\$\\{quiz.title}", quiz.getTitle()); .replaceAll("\\{index}", String.valueOf(quizList.indexOf(quiz) + 1))
final String categoryReplacedText = titleReplacedText.replaceAll("\\$\\{quiz.category}", quiz.getQuizCategory().name()); .replaceAll("\\$\\{quiz.title}", quiz.getTitle())
final String finalText = categoryReplacedText.replaceAll("\\$\\{quiz.level}", quiz.getQuizLevel().toString()); .replaceAll("\\$\\{quiz.category}", quiz.getQuizCategory().name())
stringBuilder.append(finalText); .replaceAll("\\$\\{quiz.level}", quiz.getQuizLevel().toString());
stringBuilder.append(replaceBody);
} }
return stringBuilder.toString(); return stringBuilder.toString();

View File

@@ -45,8 +45,6 @@ public class GetQuizService {
return new Quizzes(quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(solvedQuizIdList, quizCategorySet, quizLevel)); return new Quizzes(quizRepository.customFindByIdNotInAndQuizCategoryInAndQuizLevel(solvedQuizIdList, quizCategorySet, quizLevel));
} }
// TODO: do not use GetQuizResponseHolder in service layer
public PagingQuizzes getQuizList(final GetQuizRequest request) { public PagingQuizzes getQuizList(final GetQuizRequest request) {
final PageRequest pageRequest = PageRequest.of(request.getPage(), request.getSize()); final PageRequest pageRequest = PageRequest.of(request.getPage(), request.getSize());
final Page<Quiz> quizPage = quizRepository.findByQuizCategoryIsAndIsEnableTrue(request.getCategory(), pageRequest); final Page<Quiz> quizPage = quizRepository.findByQuizCategoryIsAndIsEnableTrue(request.getCategory(), pageRequest);

View File

@@ -1,6 +1,6 @@
package com.mangkyu.employment.interview.cron; package com.mangkyu.employment.interview.cron;
import com.mangkyu.employment.interview.app.mail.service.MailService; import com.mangkyu.employment.interview.app.mail.service.SendMailService;
import com.mangkyu.employment.interview.app.member.entity.Member; import com.mangkyu.employment.interview.app.member.entity.Member;
import com.mangkyu.employment.interview.app.member.service.GetMemberService; import com.mangkyu.employment.interview.app.member.service.GetMemberService;
import com.mangkyu.employment.interview.app.quiz.entity.Quiz; import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
@@ -25,7 +25,7 @@ public class SendQuizCronJob {
private final GetMemberService memberService; private final GetMemberService memberService;
private final GetQuizService quizService; private final GetQuizService quizService;
private final MailService mailService; private final SendMailService mailService;
private final SolvedQuizService solvedQuizService; private final SolvedQuizService solvedQuizService;
/** /**

View File

@@ -14,18 +14,16 @@ import org.springframework.test.util.ReflectionTestUtils;
import javax.mail.Session; import javax.mail.Session;
import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
@ExtendWith(MockitoExtension.class) @ExtendWith(MockitoExtension.class)
class MailServiceTest { class SendMailServiceTest {
@InjectMocks @InjectMocks
private MailService target; private SendMailService target;
@Mock @Mock
private JavaMailSender javaMailSender; private JavaMailSender javaMailSender;

View File

@@ -1,6 +1,6 @@
package com.mangkyu.employment.interview.cron; package com.mangkyu.employment.interview.cron;
import com.mangkyu.employment.interview.app.mail.service.MailService; import com.mangkyu.employment.interview.app.mail.service.SendMailService;
import com.mangkyu.employment.interview.app.member.entity.Member; import com.mangkyu.employment.interview.app.member.entity.Member;
import com.mangkyu.employment.interview.app.member.service.GetMemberService; import com.mangkyu.employment.interview.app.member.service.GetMemberService;
import com.mangkyu.employment.interview.app.quiz.entity.Quiz; import com.mangkyu.employment.interview.app.quiz.entity.Quiz;
@@ -33,7 +33,7 @@ class SendQuizCronJobTest {
@Mock @Mock
private GetQuizService quizService; private GetQuizService quizService;
@Mock @Mock
private MailService mailService; private SendMailService mailService;
@Mock @Mock
private SolvedQuizService solvedQuizService; private SolvedQuizService solvedQuizService;