diff --git a/back/src/main/java/com/back/domain/member/member/service/MemberService.java b/back/src/main/java/com/back/domain/member/member/service/MemberService.java index 32b57a50..fd138b27 100644 --- a/back/src/main/java/com/back/domain/member/member/service/MemberService.java +++ b/back/src/main/java/com/back/domain/member/member/service/MemberService.java @@ -235,7 +235,7 @@ public void updateMentee(Member currentUser, MenteeUpdateRequest request) { } public MentorMyPageResponse getMentorMyPage(Member currentUser) { - Mentor mentor = mentorRepository.findByMemberId(currentUser.getId()) + Mentor mentor = mentorRepository.findByMemberIdWithMember(currentUser.getId()) .orElseThrow(() -> new ServiceException("404-3", "멘토 정보를 찾을 수 없습니다.")); return MentorMyPageResponse.from(currentUser, mentor); diff --git a/back/src/test/java/com/back/domain/member/member/controller/MemberAuthControllerTest.java b/back/src/test/java/com/back/domain/member/member/controller/MemberAuthControllerTest.java index c91aade5..4019b8d4 100644 --- a/back/src/test/java/com/back/domain/member/member/controller/MemberAuthControllerTest.java +++ b/back/src/test/java/com/back/domain/member/member/controller/MemberAuthControllerTest.java @@ -4,6 +4,8 @@ import com.back.domain.member.member.entity.Member; import com.back.domain.member.member.service.MemberService; import com.back.domain.member.member.verification.EmailVerificationService; +import com.back.domain.member.mentee.entity.Mentee; +import com.back.domain.member.mentee.repository.MenteeRepository; import jakarta.servlet.http.Cookie; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -35,33 +37,50 @@ public class MemberAuthControllerTest { @Autowired private EmailVerificationService emailVerificationService; + @Autowired + private MenteeRepository menteeRepository; + @Test - @DisplayName("멘티 회원가입") + @DisplayName("멘티 회원가입 - Job이 정상적으로 저장되는지 확인") void t1() throws Exception { + String email = "user1@example.com"; + String interestedField = "Backend"; + ResultActions resultActions = mvc .perform( post("/auth/signup/mentee") .contentType(MediaType.APPLICATION_JSON) - .content(""" + .content(String.format(""" { - "email": "user1@example.com", + "email": "%s", "password": "password123", "name": "사용자1", "nickname": "유저1", - "interestedField": "Backend" + "interestedField": "%s" } - """.stripIndent()) + """, email, interestedField).stripIndent()) ) .andDo(print()); - Member member = memberService.findByEmail("user1@example.com").get(); + // 회원가입 성공 확인 resultActions .andExpect(handler().handlerType(MemberAuthController.class)) .andExpect(handler().methodName("signupMentee")) .andExpect(status().is2xxSuccessful()) .andExpect(jsonPath("$.resultCode").value("200-1")) .andExpect(jsonPath("$.msg").value("멘티 회원가입 성공")); + + // Member와 Mentee가 정상적으로 생성되었는지 확인 + Member member = memberService.findByEmail(email).get(); + assertThat(member).isNotNull(); + assertThat(member.getRole()).isEqualTo(Member.Role.MENTEE); + + // Mentee에 Job이 정상적으로 들어갔는지 확인 + Mentee mentee = menteeRepository.findByMemberId(member.getId()).get(); + assertThat(mentee).isNotNull(); + assertThat(mentee.getJob()).isNotNull(); + assertThat(mentee.getJob().getName()).isEqualTo(interestedField); } @Test