# 라이브 룸 채팅 얼림 상태 저장/조회 추가 ## 체크리스트 - [x] 데이터 모델(LiveRoomInfo)에 `isChatFrozen` 필드(Boolean, 기본 false) 추가 - [x] 요청 DTO `SetChatFreezeRequest(roomId, isChatFrozen)` 추가 - [x] 서비스 `setChatFreeze` 구현(권한: 크리에이터만) - [x] 컨트롤러 `PUT /live/room/info/set/chat-freeze` 엔드포인트 추가 - [x] `GetRoomInfoResponse`에 `isChatFrozen`(Boolean, 기본 false) 추가 및 조회 응답 포함 - [x] 단위 테스트는 불필요 판단으로 제거(수동 테스트 가이드로 대체) - [x] `./gradlew build`로 컴파일 확인 - [x] `./gradlew ktlintCheck` 실행 및 포맷 확인 ## 검증 기록 ### 1차 구현 - 무엇을: 채팅 얼림 상태 저장/조회 기능 구현 - 왜: 라이브 룸 채팅 제어 기능 제공을 위해 - 어떻게: - 빌드/테스트 명령 실행: `./gradlew clean build` 성공, `./gradlew ktlintCheck` 예정 - API 수동 점검 예정: `PUT /live/room/info/set/chat-freeze` 요청 본문 `{ "roomId": 1, "isChatFrozen": true }` → 200 OK, 이후 `GET /live/room/info/{id}` 응답에 `isChatFrozen: true` 포함 확인 ### 수동 테스트 방법 - 사전조건: 방 생성 및 시작되어 Redis에 `LiveRoomInfo`가 존재해야 함 - 1) 채팅 얼림 설정 - 요청: `PUT /live/room/info/set/chat-freeze` - 헤더: `Authorization: Bearer ` - 바디: `{ "roomId": , "isChatFrozen": true }` - 기대: 200 OK, 본문은 `ApiResponse.ok` 규격 - 2) 룸 정보 조회에서 반영 확인 - 요청: `GET /live/room/info/{roomId}` - 기대: 응답 JSON 내 `isChatFrozen: true` - 3) 해제 시나리오 재검증 - `isChatFrozen`을 false로 요청 후 조회 시 `false` 확인