# 20260316_CanServiceGetCanUseStatusTimezoneAndNullHandling.md ## 작업 개요 - `CanService.getCanUseStatus` 함수에서 유효하지 않은 타임존 입력 시 처리 방식 변경 (예외 발생 -> UTC 기본값 사용). - 캔 사용 내역 타이틀에서 `null` 문자열이 노출되는 문제 해결 및 크리에이터 닉네임 활용 로직 강화. ## 구현 항목 - [x] `CanService.getCanUseStatus` 타임존 처리 로직 수정 - `ZoneId.of(timezone)` 호출 시 예외 발생 시 `UTC`를 기본값으로 사용하도록 변경. - [x] `CanService.getCanUseStatus` 타이틀 생성 로직 수정 - `CanUsage.LIVE` 등에서 `roomTitle`이 null인 경우 `roomMemberNickname`을 출력하도록 변경. - 기타 `null` 문자열이 노출될 수 있는 지점 확인 및 수정. - [x] `CanServiceTest.kt` 수정 - 타임존 예외 테스트를 UTC 기본값 동작 검증 테스트로 변경. - 타이틀 `null` 처리 로직 변경에 따른 검증 코드 업데이트. ## 검증 기록 ### 1차 구현 - **무엇을**: 타임존 안전 처리 및 타이틀 null 방지 로직 구현 - **왜**: 사용자 경험 개선 및 데이터 무결성 표시 - **어떻게**: - `CanService.kt`: `ZoneId.of(timezone)`에 try-catch 적용, `CanUsage.LIVE` 등에서 제목 null 시 닉네임 사용하도록 수정. - `CanServiceTest.kt`: 타임존 UTC 폴백 테스트 및 타이틀 null 방지 테스트 케이스 업데이트. - `./gradlew test` 실행 결과: 5개 테스트 모두 통과. - `./gradlew ktlintCheck` 실행 결과: 성공.