Skip to content

Commit faba4be

Browse files
Simzard10hyunzzii
authored andcommitted
test: FAQ 관리 (#143)
1 parent debea47 commit faba4be

1 file changed

Lines changed: 85 additions & 0 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.mangoboss.app.domain.service.faq;
2+
3+
import com.mangoboss.app.domain.repository.FaqRepository;
4+
import com.mangoboss.storage.faq.FaqCategory;
5+
import com.mangoboss.storage.faq.FaqEntity;
6+
import org.junit.jupiter.api.Test;
7+
import org.junit.jupiter.api.extension.ExtendWith;
8+
import org.mockito.InjectMocks;
9+
import org.mockito.Mock;
10+
import org.mockito.junit.jupiter.MockitoExtension;
11+
12+
import java.util.List;
13+
14+
import static org.assertj.core.api.Assertions.assertThat;
15+
import static org.mockito.Mockito.*;
16+
17+
@ExtendWith(MockitoExtension.class)
18+
class FaqServiceTest {
19+
20+
@InjectMocks
21+
private FaqService faqService;
22+
23+
@Mock
24+
private FaqRepository faqRepository;
25+
26+
@Test
27+
void 전체_카테고리를_조회할_때_모든_FAQ를_가져온다() {
28+
// given
29+
List<FaqEntity> allFaqs = List.of(mock(FaqEntity.class), mock(FaqEntity.class));
30+
when(faqRepository.findAll()).thenReturn(allFaqs);
31+
32+
// when
33+
List<FaqEntity> result = faqService.getFaqs(FaqCategory.ALL);
34+
35+
// then
36+
assertThat(result).isEqualTo(allFaqs);
37+
verify(faqRepository).findAll();
38+
verify(faqRepository, never()).findByCategory(any());
39+
}
40+
41+
@Test
42+
void 서비스_카테고리를_조회할_때_SERVICE_FAQ만_가져온다() {
43+
// given
44+
List<FaqEntity> serviceFaqs = List.of(mock(FaqEntity.class));
45+
when(faqRepository.findByCategory(FaqCategory.SERVICE)).thenReturn(serviceFaqs);
46+
47+
// when
48+
List<FaqEntity> result = faqService.getFaqs(FaqCategory.SERVICE);
49+
50+
// then
51+
assertThat(result).isEqualTo(serviceFaqs);
52+
verify(faqRepository).findByCategory(FaqCategory.SERVICE);
53+
verify(faqRepository, never()).findAll();
54+
}
55+
56+
@Test
57+
void 결제_카테고리를_조회할_때_PAYMENT_FAQ만_가져온다() {
58+
// given
59+
List<FaqEntity> paymentFaqs = List.of(mock(FaqEntity.class));
60+
when(faqRepository.findByCategory(FaqCategory.PAYMENT)).thenReturn(paymentFaqs);
61+
62+
// when
63+
List<FaqEntity> result = faqService.getFaqs(FaqCategory.PAYMENT);
64+
65+
// then
66+
assertThat(result).isEqualTo(paymentFaqs);
67+
verify(faqRepository).findByCategory(FaqCategory.PAYMENT);
68+
verify(faqRepository, never()).findAll();
69+
}
70+
71+
@Test
72+
void 계정_카테고리를_조회할_때_ACCOUNT_FAQ만_가져온다() {
73+
// given
74+
List<FaqEntity> accountFaqs = List.of(mock(FaqEntity.class));
75+
when(faqRepository.findByCategory(FaqCategory.ACCOUNT)).thenReturn(accountFaqs);
76+
77+
// when
78+
List<FaqEntity> result = faqService.getFaqs(FaqCategory.ACCOUNT);
79+
80+
// then
81+
assertThat(result).isEqualTo(accountFaqs);
82+
verify(faqRepository).findByCategory(FaqCategory.ACCOUNT);
83+
verify(faqRepository, never()).findAll();
84+
}
85+
}

0 commit comments

Comments
 (0)