fix(admin-chat-character): JP 리전 캐릭터 등록 성별 값을 일본어로 변환한다

This commit is contained in:
2026-03-16 11:17:03 +09:00
parent 7251939107
commit 02196eba4c
3 changed files with 100 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
# 캐릭터 등록 JP 성별 일본어 변환
- [x] `AdminChatCharacterController.registerCharacter`의 외부 API 호출 경로 확인
- QA: `callExternalApi`에서 `region`/`gender` 바디 구성 위치 확인
- [x] `region == JP`일 때 `gender` 값을 일본어로 변환하는 로직 추가
- QA: `여성 -> 女性`, `남성 -> 男性`, `기타 -> その他` 매핑 확인
- [x] 등록 API 외부 호출 시에만 변환이 적용되도록 구현
- QA: DB 저장용 `request.gender`는 기존 값 유지 여부 확인
- [x] 정적 진단 및 테스트 수행
- QA: Kotlin LSP 미구성으로 `lsp_diagnostics` 불가 확인, `./gradlew test --tests "kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest"``./gradlew build -x test` 성공
## 검증 기록
### 1차 구현
- 무엇을: `registerCharacter` 외부 API 호출 시 `region == JP` 조건에서만 `gender`를 일본어(`女性`/`男性`/`その他`)로 변환하도록 구현하고, 매핑 단위 테스트를 추가했다.
- 왜: JP 리전 요청에서 외부 API가 일본어 성별 값을 요구하므로 등록 API 요청 바디의 `gender` 값만 조건부 변환이 필요했다.
- 어떻게:
- 코드 확인: `src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt`에서 `callExternalApi` 바디 구성 지점 확인 후 `mapGenderForExternalApi` 헬퍼 추가
- 매핑 검증: `src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt`에서 JP 매핑(여성/남성/기타) 및 KR 유지 케이스 검증
- 정적 진단: `lsp_diagnostics` 실행 시 Kotlin LSP 미구성으로 불가(환경 제약)
- 실행 검증 1: `./gradlew test --tests "kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest"` → 성공
- 수동 확인: `build/test-results/test/TEST-kr.co.vividnext.sodalive.admin.chat.character.AdminChatCharacterControllerTest.xml`에서 `tests="4" failures="0" errors="0"` 확인
- 실행 검증 2: `./gradlew build -x test` → 성공