@@ -12,6 +12,7 @@ import org.mockito.kotlin.whenever
1212import org.springframework.security.test.context.support.WithMockUser
1313import org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf
1414import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
15+ import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch
1516import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post
1617import org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath
1718import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status
@@ -70,6 +71,28 @@ class AuthControllerTest() : ControllerTestSupport() {
7071 .andExpect(jsonPath(" $.code" ).value(SuccessStatus .OK .code))
7172 }
7273
74+ @DisplayName(" 회원탈퇴에 성공한다." )
75+ @WithMockUser
76+ @Test
77+ fun withdraw () {
78+ // given
79+ val deviceId = " deviceId"
80+ val accessToken = " access.token"
81+ val user = User .fixture()
82+
83+ mockUserAuthentication(user, accessToken, deviceId)
84+
85+ // when & then
86+ mockMvc.perform(
87+ patch(" /v1/api/auth/withdraw" )
88+ .header(" X-Access-Token" , accessToken)
89+ .header(" Device-Id" , deviceId)
90+ .with (csrf()),
91+ )
92+ .andExpect(status().isOk)
93+ .andExpect(jsonPath(" $.code" ).value(SuccessStatus .OK .code))
94+ }
95+
7396 private fun mockUserAuthentication (user : User , accessToken : String , deviceId : String ) {
7497 whenever(jwtProvider.getEmailWithValidation(accessToken)).thenReturn(user.email)
7598 whenever(userRepository.findByEmail(user.email)).thenReturn(user)
0 commit comments