|
8 | 8 | import io.f1.backend.domain.game.model.Room; |
9 | 9 | import io.f1.backend.domain.game.model.RoomSetting; |
10 | 10 |
|
| 11 | +import java.util.List; |
11 | 12 | import org.junit.jupiter.api.BeforeEach; |
12 | 13 | import org.junit.jupiter.api.DisplayName; |
13 | 14 | import org.junit.jupiter.api.Test; |
@@ -61,4 +62,36 @@ void saveRoom_test() { |
61 | 62 | assertThat(savedRoom.getRoomSetting().locked()).isEqualTo(request.locked()); |
62 | 63 | assertThat(savedRoom.getRoomSetting().password()).isEqualTo(request.password()); |
63 | 64 | } |
| 65 | + |
| 66 | + @Test |
| 67 | + @DisplayName("게임 방 전체 조회 테스트") |
| 68 | + void findAll_test() throws Exception { |
| 69 | + |
| 70 | + // given: 테스트를 위한 방 2개 생성 및 저장 |
| 71 | + RoomCreateRequest request1 = new RoomCreateRequest("방이름_1", 3, "password1", true); |
| 72 | + RoomCreateRequest request2 = new RoomCreateRequest("방이름_2", 5, "", false); |
| 73 | + |
| 74 | + Player host1 = new Player(1L, "방장 1"); |
| 75 | + Player host2 = new Player(2L, "호스트2"); |
| 76 | + |
| 77 | + GameSetting gameSetting = new GameSetting(1L, 10, 60); |
| 78 | + |
| 79 | + RoomSetting roomSetting1 = new RoomSetting(request1.roomName(), request1.maxUserCount(), request1.locked(), request1.password()); |
| 80 | + RoomSetting roomSetting2 = new RoomSetting(request2.roomName(), request2.maxUserCount(), request2.locked(), request2.password()); |
| 81 | + |
| 82 | + Room room1 = new Room(1L, roomSetting1, gameSetting, host1); |
| 83 | + Room room2 = new Room(2L, roomSetting2, gameSetting, host2); |
| 84 | + |
| 85 | + roomRepository.saveRoom(room1); |
| 86 | + roomRepository.saveRoom(room2); |
| 87 | + |
| 88 | + // when: 방 전체 조회 메서드로 전체 방 리스트 조회 |
| 89 | + List<Room> allRooms = roomRepository.findAll(); |
| 90 | + |
| 91 | + // then: 저장한 방 2개가 모두 조회되어야하고 |
| 92 | + assertThat(allRooms).hasSize(2); |
| 93 | + assertThat(allRooms).extracting("id").containsExactlyInAnyOrder(1L, 2L); |
| 94 | + assertThat(allRooms).extracting(room -> room.getRoomSetting().roomName()).containsExactlyInAnyOrder("방이름_1", "방이름_2"); |
| 95 | + |
| 96 | + } |
64 | 97 | } |
0 commit comments