Files
sodalive-android/docs/20260224_유료라이브최소금액30캔검사추가.md

2.4 KiB

  • 라이브 생성 정합성 검사 로직 위치를 확인한다.
  • 유료 라이브 최소 금액 30캔 조건을 생성 전 검사에 추가한다.
  • 금액이 0 미만인 경우 0으로 보정하도록 반영한다.
  • 최소금액 메시지의 영어/일본어 리소스를 추가한다.
  • 관련 파일 진단/테스트/빌드를 실행해 결과를 확인한다.

검증 기록

1) 유료 라이브 최소 금액 30캔 정합성 추가

  • 무엇: 유료 라이브 생성 전 정합성 검사에 최소 금액(30캔) 조건 추가 반영 여부를 검증.
  • 왜: 유료 라이브를 30캔 미만(1~29캔)으로 생성하지 못하도록 클라이언트에서 사전 차단하기 위함.
  • 어떻게:
    • lsp_diagnostics (LiveRoomCreateViewModel.kt, strings.xml) 실행 시 현재 환경에 Kotlin/XML LSP 서버가 없어 진단 도구 사용 불가를 확인.
    • ./gradlew :app:testDebugUnitTest :app:assembleDebug 실행.
  • 결과:
    • Gradle: BUILD SUCCESSFUL (단위 테스트/디버그 빌드 통과).
    • 문자열 리소스 msg_live_room_create_minimum_paid_price 추가 및 ViewModel 검증 조건 반영 확인.

2) 금액 음수 입력 0 보정

  • 무엇: 라이브 생성 금액 설정 시 음수 값 입력을 0으로 보정하는 로직 반영 여부 검증.
  • 왜: 비정상 입력(0 미만)이 들어와도 가격 상태를 안전하게 유지하기 위함.
  • 어떻게:
    • LiveRoomCreateViewModel.setPriceprice.coerceAtLeast(0)로 변경.
    • ./gradlew :app:testDebugUnitTest :app:assembleDebug 실행.
  • 결과:
    • Gradle: BUILD SUCCESSFUL.
    • 음수 입력 시 priceLiveData는 최소 0으로 보정됨.

3) 최소 금액 메시지 다국어(en/ja) 추가

  • 무엇: msg_live_room_create_minimum_paid_price 키의 영어/일본어 리소스 추가 반영 여부를 검증.
  • 왜: 기본(한국어)만 존재하던 최소금액 안내 메시지를 다국어 환경에서도 동일하게 노출하기 위함.
  • 어떻게:
    • values-en/strings.xml, values-ja/strings.xml에 동일 키를 생성.
    • lsp_diagnostics로 XML 진단을 시도했으나 현재 환경에서 XML LSP 서버 미설정으로 실행 불가 확인.
    • ./gradlew :app:testDebugUnitTest :app:assembleDebug 실행.
  • 결과:
    • 영어: The minimum paid live price is 30 cans.
    • 일본어: 有料ライブの最低金額は30缶です。
    • Gradle: BUILD SUCCESSFUL.