@@ -9,6 +9,7 @@ import org.springframework.http.MediaType
99import org.springframework.security.crypto.password.PasswordEncoder
1010import org.springframework.test.context.bean.override.mockito.MockitoBean
1111import org.springframework.test.web.servlet.MockMvc
12+ import org.springframework.test.web.servlet.get
1213import org.springframework.test.web.servlet.patch
1314import org.springframework.transaction.annotation.Transactional
1415import team.nongchun.hororog.domain.member.entity.Member
@@ -32,19 +33,40 @@ class MemberControllerTest
3233 @MockitoBean
3334 lateinit var refreshTokenRepository: RefreshTokenRepository
3435
35- private fun saveMember () =
36- memberRepository.save(
37- Member (
38- email = " nutritionist@hororog.team" ,
39- password = requireNotNull(passwordEncoder.encode(" password1234" )),
40- name = " 김영양" ,
41- schoolName = " 농촌초등학교" ,
42- role = Role .NUTRITIONIST ,
43- ),
44- )
36+ private fun saveMember (
37+ role : Role = Role .NUTRITIONIST ,
38+ email : String = "nutritionist@hororog.team",
39+ ) = memberRepository.save(
40+ Member (
41+ email = email,
42+ password = requireNotNull(passwordEncoder.encode(" password1234" )),
43+ name = " 김영양" ,
44+ schoolName = " 농촌초등학교" ,
45+ role = role,
46+ ),
47+ )
4548
4649 private fun accessToken (member : Member ) = jwtProvider.createAccessToken(member.id, member.role)
4750
51+ @Test
52+ fun `학생 교사 영양사가 내 프로필을 조회하면 200을 반환한다` () {
53+ listOf (
54+ saveMember(Role .STUDENT , " student@hororog.team" ),
55+ saveMember(Role .TEACHER , " teacher@hororog.team" ),
56+ saveMember(Role .NUTRITIONIST , " nutritionist@hororog.team" ),
57+ ).forEach { member ->
58+ mockMvc
59+ .get(" /members/me" ) {
60+ header(HttpHeaders .AUTHORIZATION , " Bearer ${accessToken(member)} " )
61+ }.andExpect {
62+ status { isOk() }
63+ jsonPath(" $.name" ) { value(" 김영양" ) }
64+ jsonPath(" $.role" ) { value(member.role.name) }
65+ jsonPath(" $.schoolName" ) { value(" 농촌초등학교" ) }
66+ }
67+ }
68+ }
69+
4870 @Test
4971 fun `영양사가 학교명을 직접 수정하면 403을 반환하고 학교명은 변경되지 않는다` () {
5072 val member = saveMember()
0 commit comments