@@ -81,6 +81,12 @@ void setUpMembership() {
8181 spaceService .findByName ("기존 스페이스 1_forSpaceControllerTest" ),
8282 Authority .PENDING
8383 );
84+ // test3 -> 스페이스 1 가입 (READ_ONLY)
85+ membershipService .addMemberToSpace (
86+ memberService .findByKakaoKey ("sc3333" ),
87+ spaceService .findByName ("기존 스페이스 1_forSpaceControllerTest" ),
88+ Authority .READ_ONLY
89+ );
8490 // test1 -> 스페이스 2 가입 (PENDING)
8591 membershipService .addMemberToSpace (
8692 memberService .findByKakaoKey ("sc1111" ),
@@ -408,6 +414,45 @@ void getMySpaces_Success() throws Exception {
408414 .andExpect (jsonPath ("$.data.spaces[1].thumbnailUrl" ).value ("thumbnailUrl2" ));
409415 }
410416
417+ @ Test
418+ @ WithUserDetails (value = "KAKAO:sc1111" , setupBefore = TestExecutionEvent .TEST_METHOD )
419+ @ DisplayName ("나의 스페이스 전체 조회 (멤버 포함) - 성공" )
420+ void getMySpaces_withMembers_Success () throws Exception {
421+ // Given
422+ String url = "/api/v1/space?includeMembers=true" ;
423+
424+ // When
425+ ResultActions resultActions = performGet (url );
426+
427+ // Then
428+ expectOk (
429+ resultActions ,
430+ "스페이스 목록이 조회됐습니다."
431+ );
432+ resultActions
433+ .andExpect (jsonPath ("$.data.spaces" ).isArray ())
434+ .andExpect (jsonPath ("$.data.spaces.length()" ).value (2 ));
435+
436+ // 첫 번째 스페이스 (기존 스페이스 1) 검증
437+ resultActions
438+ .andExpect (jsonPath ("$.data.spaces[0].name" ).value ("기존 스페이스 1_forSpaceControllerTest" ))
439+ .andExpect (jsonPath ("$.data.spaces[0].authority" ).value ("ADMIN" ))
440+ .andExpect (jsonPath ("$.data.spaces[0].members" ).isArray ())
441+ .andExpect (jsonPath ("$.data.spaces[0].members.length()" ).value (2 )) // PENDING 제외 2명
442+ .andExpect (jsonPath ("$.data.spaces[0].members[0].name" ).value ("spaceControllerTester1" ))
443+ .andExpect (jsonPath ("$.data.spaces[0].members[0].authority" ).value ("ADMIN" ))
444+ .andExpect (jsonPath ("$.data.spaces[0].members[1].name" ).value ("spaceControllerTester3" ))
445+ .andExpect (jsonPath ("$.data.spaces[0].members[1].authority" ).value ("READ_ONLY" ));
446+
447+
448+ // 두 번째 스페이스 (기존 스페이스 2) 검증
449+ resultActions
450+ .andExpect (jsonPath ("$.data.spaces[1].name" ).value ("기존 스페이스 2_forSpaceControllerTest" ))
451+ .andExpect (jsonPath ("$.data.spaces[1].authority" ).value ("PENDING" ))
452+ .andExpect (jsonPath ("$.data.spaces[1].members" ).isArray ())
453+ .andExpect (jsonPath ("$.data.spaces[1].members.length()" ).value (0 )); // 가입된 멤버 없음
454+ }
455+
411456 @ Test
412457 @ WithUserDetails (value = "KAKAO:sc1111" , setupBefore = TestExecutionEvent .TEST_METHOD )
413458 @ DisplayName ("초대받은 스페이스 전체 조회 - 성공" )
0 commit comments