26 lines
1.6 KiB
Markdown
26 lines
1.6 KiB
Markdown
# 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` 실행 결과: 성공.
|