diff --git a/src/test/java/earlybird/earlybird/feedback/service/anonymous/CreateAnonymousFeedbackScoreServiceTest.java b/src/test/java/earlybird/earlybird/feedback/service/anonymous/CreateAnonymousFeedbackScoreServiceTest.java index ac2ca68..a5f22e5 100644 --- a/src/test/java/earlybird/earlybird/feedback/service/anonymous/CreateAnonymousFeedbackScoreServiceTest.java +++ b/src/test/java/earlybird/earlybird/feedback/service/anonymous/CreateAnonymousFeedbackScoreServiceTest.java @@ -1,5 +1,6 @@ package earlybird.earlybird.feedback.service.anonymous; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; @@ -9,23 +10,36 @@ import earlybird.earlybird.feedback.domain.score.FeedbackScoreRepository; import earlybird.earlybird.feedback.service.anonymous.request.CreateAnonymousFeedbackScoreServiceRequest; +import jakarta.persistence.EntityManager; +import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.List; -@ExtendWith(MockitoExtension.class) +@Transactional +@SpringBootTest class CreateAnonymousFeedbackScoreServiceTest { - @Mock private FeedbackScoreRepository feedbackScoreRepository; + @Autowired + private CreateAnonymousFeedbackScoreService service; - @Mock private FeedbackScoreDayInfoRepository feedbackScoreDayInfoRepository; + @Autowired + private FeedbackScoreRepository feedbackScoreRepository; - @InjectMocks private CreateAnonymousFeedbackScoreService service; + @Autowired + private FeedbackScoreDayInfoRepository feedbackScoreDayInfoRepository; + + @Autowired + private EntityManager entityManager; @DisplayName("요청에 담긴 피드백 점수를 DB에 저장한다") @Test @@ -39,8 +53,11 @@ void createFeedbackScore() { .build(); service.create(request); + entityManager.flush(); + entityManager.clear(); - verify(feedbackScoreRepository).save(any(FeedbackScore.class)); + List all = feedbackScoreRepository.findAll(); + assertThat(all.size()).isEqualTo(1); } @DisplayName("요청에 담긴 사용자 Day 정보를 DB에 저장한다") @@ -54,8 +71,12 @@ void createFeedbackScoreDayInfo() { .score(10) .build(); + assertThat(feedbackScoreDayInfoRepository.findAll().size()).isEqualTo(0); service.create(request); - verify(feedbackScoreDayInfoRepository).save(any(FeedbackScoreDayInfo.class)); + entityManager.flush(); + entityManager.clear(); + + assertThat(feedbackScoreDayInfoRepository.findAll().size()).isEqualTo(1); } }