88import com .back .domain .user .entity .UserProfile ;
99import com .back .domain .user .entity .UserStatus ;
1010import com .back .global .common .dto .RsData ;
11+ import com .back .global .security .CurrentUser ;
1112import org .junit .jupiter .api .BeforeEach ;
1213import org .junit .jupiter .api .DisplayName ;
1314import org .junit .jupiter .api .Test ;
3233import static org .mockito .Mockito .verify ;
3334
3435@ ExtendWith (MockitoExtension .class )
35- @ DisplayName ("RoomController 테스트" )
36+ @ DisplayName ("RoomController 테스트 - JWT 인증 통합 " )
3637class RoomControllerTest {
3738
3839 @ Mock
3940 private RoomService roomService ;
4041
42+ @ Mock
43+ private CurrentUser currentUser ;
44+
4145 @ InjectMocks
4246 private RoomController roomController ;
4347
@@ -75,12 +79,16 @@ void setUp() {
7579
7680 // 테스트 멤버 생성
7781 testMember = RoomMember .createHost (testRoom , testUser );
82+
83+ // CurrentUser Mock 설정은 각 테스트에서 필요할 때만 설정
7884 }
7985
8086 @ Test
81- @ DisplayName ("방 생성 API 테스트" )
87+ @ DisplayName ("방 생성 API 테스트 - JWT 인증 " )
8288 void createRoom () {
8389 // given
90+ given (currentUser .getUserId ()).willReturn (1L );
91+
8492 CreateRoomRequest request = new CreateRoomRequest (
8593 "테스트 방" ,
8694 "테스트 설명" ,
@@ -95,59 +103,66 @@ void createRoom() {
95103 anyBoolean (),
96104 any (),
97105 anyInt (),
98- anyLong ( )
106+ eq ( 1L )
99107 )).willReturn (testRoom );
100108
101109 // when
102- ResponseEntity <RsData <RoomResponse >> response = roomController .createRoom (request , "Bearer token" );
110+ ResponseEntity <RsData <RoomResponse >> response = roomController .createRoom (request );
103111
104112 // then
105113 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .CREATED );
106114 assertThat (response .getBody ()).isNotNull ();
107115 assertThat (response .getBody ().isSuccess ()).isTrue ();
108116 assertThat (response .getBody ().getData ().getTitle ()).isEqualTo ("테스트 방" );
109117
118+ verify (currentUser , times (1 )).getUserId ();
110119 verify (roomService , times (1 )).createRoom (
111120 anyString (),
112121 anyString (),
113122 anyBoolean (),
114123 any (),
115124 anyInt (),
116- anyLong ( )
125+ eq ( 1L )
117126 );
118127 }
119128
120129 @ Test
121- @ DisplayName ("방 입장 API 테스트" )
130+ @ DisplayName ("방 입장 API 테스트 - JWT 인증 " )
122131 void joinRoom () {
123132 // given
133+ given (currentUser .getUserId ()).willReturn (1L );
134+
124135 JoinRoomRequest request = new JoinRoomRequest (null );
125- given (roomService .joinRoom (anyLong ( ), any (), anyLong ( ))).willReturn (testMember );
136+ given (roomService .joinRoom (eq ( 1L ), any (), eq ( 1L ))).willReturn (testMember );
126137
127138 // when
128- ResponseEntity <RsData <JoinRoomResponse >> response = roomController .joinRoom (1L , request , "Bearer token" );
139+ ResponseEntity <RsData <JoinRoomResponse >> response = roomController .joinRoom (1L , request );
129140
130141 // then
131142 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
132143 assertThat (response .getBody ()).isNotNull ();
133144 assertThat (response .getBody ().isSuccess ()).isTrue ();
134145
135- verify (roomService , times (1 )).joinRoom (anyLong (), any (), anyLong ());
146+ verify (currentUser , times (1 )).getUserId ();
147+ verify (roomService , times (1 )).joinRoom (eq (1L ), any (), eq (1L ));
136148 }
137149
138150 @ Test
139- @ DisplayName ("방 나가기 API 테스트" )
151+ @ DisplayName ("방 나가기 API 테스트 - JWT 인증 " )
140152 void leaveRoom () {
141153 // given
154+ given (currentUser .getUserId ()).willReturn (1L );
155+
142156 // when
143- ResponseEntity <RsData <Void >> response = roomController .leaveRoom (1L , "Bearer token" );
157+ ResponseEntity <RsData <Void >> response = roomController .leaveRoom (1L );
144158
145159 // then
146160 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
147161 assertThat (response .getBody ()).isNotNull ();
148162 assertThat (response .getBody ().isSuccess ()).isTrue ();
149163
150- verify (roomService , times (1 )).leaveRoom (anyLong (), anyLong ());
164+ verify (currentUser , times (1 )).getUserId ();
165+ verify (roomService , times (1 )).leaveRoom (eq (1L ), eq (1L ));
151166 }
152167
153168 @ Test
@@ -174,29 +189,34 @@ void getRooms() {
174189 }
175190
176191 @ Test
177- @ DisplayName ("방 상세 정보 조회 API 테스트" )
192+ @ DisplayName ("방 상세 정보 조회 API 테스트 - JWT 인증 " )
178193 void getRoomDetail () {
179194 // given
180- given (roomService .getRoomDetail (anyLong (), anyLong ())).willReturn (testRoom );
181- given (roomService .getRoomMembers (anyLong (), anyLong ())).willReturn (Arrays .asList (testMember ));
195+ given (currentUser .getUserId ()).willReturn (1L );
196+
197+ given (roomService .getRoomDetail (eq (1L ), eq (1L ))).willReturn (testRoom );
198+ given (roomService .getRoomMembers (eq (1L ), eq (1L ))).willReturn (Arrays .asList (testMember ));
182199
183200 // when
184- ResponseEntity <RsData <RoomDetailResponse >> response = roomController .getRoomDetail (1L , "Bearer token" );
201+ ResponseEntity <RsData <RoomDetailResponse >> response = roomController .getRoomDetail (1L );
185202
186203 // then
187204 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
188205 assertThat (response .getBody ()).isNotNull ();
189206 assertThat (response .getBody ().isSuccess ()).isTrue ();
190207 assertThat (response .getBody ().getData ().getTitle ()).isEqualTo ("테스트 방" );
191208
192- verify (roomService , times (1 )).getRoomDetail (anyLong (), anyLong ());
193- verify (roomService , times (1 )).getRoomMembers (anyLong (), anyLong ());
209+ verify (currentUser , times (1 )).getUserId ();
210+ verify (roomService , times (1 )).getRoomDetail (eq (1L ), eq (1L ));
211+ verify (roomService , times (1 )).getRoomMembers (eq (1L ), eq (1L ));
194212 }
195213
196214 @ Test
197- @ DisplayName ("내 참여 방 목록 조회 API 테스트" )
215+ @ DisplayName ("내 참여 방 목록 조회 API 테스트 - JWT 인증 " )
198216 void getMyRooms () {
199217 // given
218+ given (currentUser .getUserId ()).willReturn (1L );
219+
200220 // Room에 ID 설정 (리플렉션 사용)
201221 try {
202222 java .lang .reflect .Field idField = testRoom .getClass ().getSuperclass ().getDeclaredField ("id" );
@@ -206,11 +226,11 @@ void getMyRooms() {
206226 throw new RuntimeException (e );
207227 }
208228
209- given (roomService .getUserRooms (anyLong ( ))).willReturn (Arrays .asList (testRoom ));
210- given (roomService .getUserRoomRole (eq (1L ), anyLong ( ))).willReturn (RoomRole .HOST );
229+ given (roomService .getUserRooms (eq ( 1L ))).willReturn (Arrays .asList (testRoom ));
230+ given (roomService .getUserRoomRole (eq (1L ), eq ( 1L ))).willReturn (RoomRole .HOST );
211231
212232 // when
213- ResponseEntity <RsData <List <MyRoomResponse >>> response = roomController .getMyRooms ("Bearer token" );
233+ ResponseEntity <RsData <List <MyRoomResponse >>> response = roomController .getMyRooms ();
214234
215235 // then
216236 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
@@ -219,13 +239,16 @@ void getMyRooms() {
219239 assertThat (response .getBody ().getData ()).hasSize (1 );
220240 assertThat (response .getBody ().getData ().get (0 ).getTitle ()).isEqualTo ("테스트 방" );
221241
222- verify (roomService , times (1 )).getUserRooms (anyLong ());
242+ verify (currentUser , times (1 )).getUserId ();
243+ verify (roomService , times (1 )).getUserRooms (eq (1L ));
223244 }
224245
225246 @ Test
226- @ DisplayName ("방 설정 수정 API 테스트" )
247+ @ DisplayName ("방 설정 수정 API 테스트 - JWT 인증 " )
227248 void updateRoom () {
228249 // given
250+ given (currentUser .getUserId ()).willReturn (1L );
251+
229252 UpdateRoomSettingsRequest request = new UpdateRoomSettingsRequest (
230253 "변경된 제목" ,
231254 "변경된 설명" ,
@@ -236,48 +259,54 @@ void updateRoom() {
236259 );
237260
238261 // when
239- ResponseEntity <RsData <Void >> response = roomController .updateRoom (1L , request , "Bearer token" );
262+ ResponseEntity <RsData <Void >> response = roomController .updateRoom (1L , request );
240263
241264 // then
242265 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
243266 assertThat (response .getBody ()).isNotNull ();
244267 assertThat (response .getBody ().isSuccess ()).isTrue ();
245268
269+ verify (currentUser , times (1 )).getUserId ();
246270 verify (roomService , times (1 )).updateRoomSettings (
247- anyLong ( ),
271+ eq ( 1L ),
248272 anyString (),
249273 anyString (),
250274 anyInt (),
251275 anyBoolean (),
252276 anyBoolean (),
253277 anyBoolean (),
254- anyLong ( )
278+ eq ( 1L )
255279 );
256280 }
257281
258282 @ Test
259- @ DisplayName ("방 종료 API 테스트" )
283+ @ DisplayName ("방 종료 API 테스트 - JWT 인증 " )
260284 void deleteRoom () {
261285 // given
286+ given (currentUser .getUserId ()).willReturn (1L );
287+
262288 // when
263- ResponseEntity <RsData <Void >> response = roomController .deleteRoom (1L , "Bearer token" );
289+ ResponseEntity <RsData <Void >> response = roomController .deleteRoom (1L );
264290
265291 // then
266292 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
267293 assertThat (response .getBody ()).isNotNull ();
268294 assertThat (response .getBody ().isSuccess ()).isTrue ();
269295
270- verify (roomService , times (1 )).terminateRoom (anyLong (), anyLong ());
296+ verify (currentUser , times (1 )).getUserId ();
297+ verify (roomService , times (1 )).terminateRoom (eq (1L ), eq (1L ));
271298 }
272299
273300 @ Test
274- @ DisplayName ("방 멤버 목록 조회 API 테스트" )
301+ @ DisplayName ("방 멤버 목록 조회 API 테스트 - JWT 인증 " )
275302 void getRoomMembers () {
276303 // given
277- given (roomService .getRoomMembers (anyLong (), anyLong ())).willReturn (Arrays .asList (testMember ));
304+ given (currentUser .getUserId ()).willReturn (1L );
305+
306+ given (roomService .getRoomMembers (eq (1L ), eq (1L ))).willReturn (Arrays .asList (testMember ));
278307
279308 // when
280- ResponseEntity <RsData <List <RoomMemberResponse >>> response = roomController .getRoomMembers (1L , "Bearer token" );
309+ ResponseEntity <RsData <List <RoomMemberResponse >>> response = roomController .getRoomMembers (1L );
281310
282311 // then
283312 assertThat (response .getStatusCode ()).isEqualTo (HttpStatus .OK );
@@ -286,7 +315,8 @@ void getRoomMembers() {
286315 assertThat (response .getBody ().getData ()).hasSize (1 );
287316 assertThat (response .getBody ().getData ().get (0 ).getNickname ()).isEqualTo ("테스트유저" );
288317
289- verify (roomService , times (1 )).getRoomMembers (anyLong (), anyLong ());
318+ verify (currentUser , times (1 )).getUserId ();
319+ verify (roomService , times (1 )).getRoomMembers (eq (1L ), eq (1L ));
290320 }
291321
292322 @ Test
0 commit comments