|
10 | 10 |
|
11 | 11 | import java.util.Optional;
|
12 | 12 |
|
| 13 | +import org.assertj.core.api.Assertions; |
13 | 14 | import org.junit.jupiter.api.DisplayName;
|
14 | 15 | import org.junit.jupiter.api.Test;
|
15 | 16 | import org.junit.jupiter.api.extension.ExtendWith;
|
16 | 17 | import org.mockito.InjectMocks;
|
17 | 18 | import org.mockito.Mock;
|
18 | 19 | import org.mockito.junit.jupiter.MockitoExtension;
|
19 | 20 |
|
20 |
| -import com.tnt.application.s3.S3Service; |
21 | 21 | import com.tnt.common.error.exception.ConflictException;
|
22 | 22 | import com.tnt.common.error.exception.NotFoundException;
|
23 | 23 | import com.tnt.domain.member.Member;
|
24 | 24 | import com.tnt.domain.member.SocialType;
|
| 25 | +import com.tnt.dto.member.MemberProjection; |
25 | 26 | import com.tnt.fixture.MemberFixture;
|
| 27 | +import com.tnt.gateway.dto.response.CheckSessionResponse; |
26 | 28 | import com.tnt.infrastructure.mysql.repository.member.MemberRepository;
|
| 29 | +import com.tnt.infrastructure.mysql.repository.member.MemberSearchRepository; |
27 | 30 |
|
28 | 31 | @ExtendWith(MockitoExtension.class)
|
29 | 32 | class MemberServiceTest {
|
30 | 33 |
|
31 |
| - @Mock |
32 |
| - private S3Service s3Service; |
| 34 | + @InjectMocks |
| 35 | + private MemberService memberService; |
33 | 36 |
|
34 | 37 | @Mock
|
35 | 38 | private MemberRepository memberRepository;
|
36 | 39 |
|
37 |
| - @InjectMocks |
38 |
| - private MemberService memberService; |
| 40 | + @Mock |
| 41 | + private MemberSearchRepository memberSearchRepository; |
39 | 42 |
|
40 | 43 | @Test
|
41 | 44 | @DisplayName("memberId로 회원 조회 성공")
|
@@ -131,4 +134,35 @@ void save_member_success() {
|
131 | 134 | assertThat(savedMember).isNotNull().isEqualTo(member);
|
132 | 135 | verify(memberRepository).save(member);
|
133 | 136 | }
|
| 137 | + |
| 138 | + @Test |
| 139 | + @DisplayName("memberId로 회원 타입 조회 성공") |
| 140 | + void get_member_type_success() { |
| 141 | + // given |
| 142 | + Member member = MemberFixture.getTrainerMember1WithId(); |
| 143 | + Long memberId = member.getId(); |
| 144 | + |
| 145 | + given(memberSearchRepository.findMemberTypeByMemberId(memberId)).willReturn( |
| 146 | + Optional.of(new MemberProjection.MemberTypeDto(member.getMemberType()))); |
| 147 | + |
| 148 | + // when |
| 149 | + CheckSessionResponse checkSessionResponse = memberService.getMemberType(memberId); |
| 150 | + |
| 151 | + // then |
| 152 | + assertThat(checkSessionResponse.memberType()).isEqualTo(member.getMemberType()); |
| 153 | + } |
| 154 | + |
| 155 | + @Test |
| 156 | + @DisplayName("memberId로 회원 타입 조회 실패") |
| 157 | + void get_member_type_fail() { |
| 158 | + // given |
| 159 | + Member member = MemberFixture.getTrainerMember1WithId(); |
| 160 | + Long memberId = member.getId(); |
| 161 | + |
| 162 | + given(memberSearchRepository.findMemberTypeByMemberId(memberId)).willReturn(Optional.empty()); |
| 163 | + |
| 164 | + // when & then |
| 165 | + Assertions.assertThatThrownBy(() -> memberService.getMemberType(memberId)) |
| 166 | + .isInstanceOf(NotFoundException.class); |
| 167 | + } |
134 | 168 | }
|
0 commit comments